0

我有 2 张桌子

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

我需要将这两个表与 .

id 和 user_id。

我怎么能用杂货 CRUD 做到这一点。

4

2 回答 2

3

如果您用OrdersTable作主表,则可以使用set_relation()1:1使用关系。如果您正在查看订单并希望查看/设置该订单属于哪个用户,这就是这种情况。

$crud->set_table('OrdersTable');
$crud->set_relation('id','UsersTable','username');

这将允许您为特定订单选择哪个用户。

然而,大概一个用户可能有很多订单——一个1:n关系。如果 UsersTable 是您的主表,就会出现这种情况,即您正在查看userCRUD 中的 a 并希望查看所有关联的订单。

此方法需要一个中间表,通过该中间表链接两个现有表,并对现有表结构稍作更改。您需要user_idOrdersTable. 为了调用参数,中间表UserOrdersTable需要以下列。

user_id INT
order_id INT
priority INT

然后,您可以使用set_relation_n_n()方法添加关系。

然后,您可以在查看时撤销set_relation_n_n()调用,OrdersTable以便查看哪个用户下了订单。

总而言之,1:n关系 usingset_relation_n_n()将允许您查看用户的订单以及用户的订单。

于 2011-12-04T15:59:18.770 回答
-1

如果您的意思是查询,那么;

选择 u.id、u.username、o.order_id、o.qty、o.total
来自用户
left join order o on(o.user_id = u.id)
其中 1=1
于 2011-12-04T07:45:04.783 回答