我有两张桌子
Users Table => id , username
OrdersTable => order_id,user_id, qty,total
我需要把这两张桌子连接起来。
id和user_id。
我怎么能用杂货渣做这件事。
发布于 2011-12-04 07:59:18
如果您使用OrdersTable
作为您的主表,则可以使用关系()使用1:1
关系。如果您正在查看订单,并希望查看/设置订单属于哪个用户,则会出现这种情况。
$crud->set_table('OrdersTable');
$crud->set_relation('id','UsersTable','username');
这将允许您为特定的订单选择哪个用户。
但是,想必一个用户可能有很多订单--一个1:n
关系。如果UsersTable是您的主表,即您正在查看CRUD中的user
并希望查看所有相关的订单,则会出现这种情况。
此方法需要中间表(与之链接两个现有表),以及对现有表结构的轻微更改。您需要删除user_id
中的OrdersTable
。为了进行名为UserOrdersTable
的参数,中间表将需要以下列。
user_id INT
order_id INT
priority INT
然后可以使用n()方法添加关系。
然后,您可以在查看set_relation_n_n()
时反转OrdersTable
调用,这样您就可以看到哪个用户下了订单。
总之,使用1:n
的set_relation_n_n()
关系将允许您查看用户的订单,以及订单的用户。
https://stackoverflow.com/questions/8373873
复制相似问题