我有2个表设置关系杂货店CRUD
Users Table => id , username
OrdersTable => order_id,user_id, qty,total
我需要这两个表链接。
id和user_id。
我该如何与杂货CRUD做到这一点。
我有2个表设置关系杂货店CRUD
Users Table => id , username
OrdersTable => order_id,user_id, qty,total
我需要这两个表链接。
id和user_id。
我该如何与杂货CRUD做到这一点。
如果您使用OrdersTable
作为你的主表,您可以使用set_relation()使用1:1
关系。如果您正在查看订单并希望查看/设置订单属于哪个用户,则会出现这种情况。
$crud->set_table('OrdersTable');
$crud->set_relation('id','UsersTable','username');
这将允许您选择特定订单的用户。
但是,推测用户可能有很多订单 - 一个1:n
关系。如果UsersTable是您的主表,即您正在CRUD中查看user
并希望查看所有关联订单,则会出现这种情况。
该方法需要一个中间表,用它链接两个现有表,并对现有表结构进行轻微更改。您需要在OrdersTable
中删除user_id
。中间表,为了名为UserOrdersTable
的参数,需要以下列。
user_id INT
order_id INT
priority INT
然后,您可以使用set_relation_n_n()方法添加关系。
然后,您可以在查看OrdersTable
时调用set_relation_n_n()
,以便查看哪个用户下了订单。
总而言之,使用set_relation_n_n()
的1:n
关系将允许您查看用户和订单的订单。
如果你的意思是查询,那么;
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
我的意思是使用http://www.grocerycrud.com/codeigniter CRUD库 – sodhancha
有没有什么运气可以解决这个问题? –
nope。在订单表 – sodhancha
中完全忽略了CRUD的Grocery_crud大概你在我的答案中尝试了解决方案? –