######説明
dalテーブルに、dal_listテーブルとdal_dataテーブルをJoinしたいのですが、cakephp3のアソシエーションを利用すればもっと簡単にできるような気がして、、、以下の方法で3テーブルをjoinしているのですが、他に良い方法はないでしょうか?
PHP
1$query = $this->Hoges->find() 2 ->where(['status' => 1]) 3 ->order(['Hoges_id' => 'DESC']) 4 ->join([ 5 'table' => 'Dallists', 6 'type' => 'LEFT', 7 'conditions' => 'Dallists.hoges_id = Dallists.id', 8 ]) 9 ->join([ 10 'table' => 'Daldatas', 11 'type' => 'LEFT', 12 'conditions' => 'Daldatas.dal_id = Dallists.dal_id', 13 ]);
hogesテーブル
id | name |
---|---|
1 | テキストテキスト |
2 | テキストテキスト |
3 | テキストテキスト |
dallistsテーブル
id | hoges_id | data_id |
---|---|---|
1 | 2 | 2 |
2 | 5 | 4 |
3 | 1 | 3 |
daldatasテーブル
data_id | name |
---|---|
1 | テキストテキスト |
2 | テキストテキスト |
3 | テキストテキスト |
4 | テキストテキスト |
5 | テキストテキスト |
######追記
hogesテーブルのidがdallistsテーブルのhoges_idと紐づいています。
dallistsテーブルのdata_idがdaldatasテーブルのata_idと紐づいています。
回答1件
あなたの回答
tips
プレビュー