我有2张桌子
Users Table => id , username
OrdersTable => order_id,user_id, qty,total
我需要用。链接这两个表。
id和user_id。
我怎么能用杂货CRUD做这件事。
答案 0 :(得分:3)
如果您使用OrdersTable
作为主要表格,则可以使用set_relation()使用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
然后,您可以使用set_relation_n_n()方法添加关系。
然后,您可以在查看set_relation_n_n()
时撤消OrdersTable
来电,以便查看哪个用户下了订单。
总而言之,使用1:n
的{{1}}关系将允许您查看用户和订单用户的订单。
答案 1 :(得分:-1)
如果您的意思是查询,那么;
select u.id, u.username, o.order_id, o.qty, o.total from users u left join orders o on(o.user_id = u.id) where 1=1