質問

2つのテーブルがあります

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

これらの2つのテーブルをリンクする必要があります。

idとuser_id。

食料品のクラッドでこれを行うにはどうすればよいですか。

役に立ちましたか?

解決

使用している場合 OrdersTable プライマリテーブルとして、aを使用できます 1:1 使用を使用する関係 set_relation(). 。これは、注文を表示していて、注文が属するユーザーを表示/設定したい場合になります。

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

これにより、特定の注文に対してどのユーザーを選択できます。

ただし、おそらくユーザーは多くの注文を持っているかもしれません - 1:n 関係。これは、usersTableがあなたの主要なテーブルである場合、つまり、 user CRUDで、関連するすべての注文を見たいと思っています。

この方法には、2つの既存のテーブルをリンクし、既存のテーブル構造にわずかな変更を行う仲介テーブルが必要です。削除する必要があります user_id の中に OrdersTable. 。議論のために、中間テーブル UserOrdersTable 次の列が必要です。

user_id INT
order_id INT
priority INT

その後、次のように関係を追加できます set_relation_n_n() 方法。

その後、を逆にすることができます set_relation_n_n() 表示する際に呼びかけます OrdersTable そのため、どのユーザーが注文したかを確認できます。

要約すると、a 1:n 使用を使用する関係 set_relation_n_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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top