2011-12-04 42 views
0

我有2个表设置关系杂货店CRUD

Users Table => id , username 
OrdersTable => order_id,user_id, qty,total 

我需要这两个表链接。

id和user_id。

我该如何与杂货CRUD做到这一点。

+0

有没有什么运气可以解决这个问题? –

+0

nope。在订单表 – sodhancha

+0

中完全忽略了CRUD的Grocery_crud大概你在我的答案中尝试了解决方案? –

回答

3

如果您使用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关系将允许您查看用户和订单的订单。

-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 
+0

我的意思是使用http://www.grocerycrud.com/codeigniter CRUD库 – sodhancha