前提・実現したいこと
PHP(CakePHP3)にて複数の外部制約キーを使用してselectしたいです。
テーブルAsはカラムidを持ちます。
テーブルBsのカラムb1、b2がそれぞれAs.idを外部制約キーとしています。
(b1、b2のカラム名は _idという形をとっていません。)
この構造でのselectはassociationに頼るべきではないものでしょうか?
テーブルAs id, ・・・ テーブルBs id, b1(外部キーAs.id), b2(外部キーAs.id), ・・・
発生している問題・エラーメッセージ
InvalidArgumentException : The association is not defined on Bs. ※contain使用時↓ SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Bs.b1' in 'on clause'
該当のソースコード
php
1BsTable.php 2 $this->belongsTo('B1s', [ 3 'className' => 'As', 4 'foreignKey' => 'b1', 5 'joinType' => 'LEFT' 6 ]); 7 $this->belongsTo('B2s', [ 8 'className' => 'As', 9 'foreignKey' => 'b2', 10 'joinType' => 'LEFT' 11 ]);
php
1BsController.php 2 ->leftJoinWith(['B1s', function (Query $q) { 3 return $q 4 ->enableAutoFields(true); 5 } 6 ]) 7 ->leftJoinWith(['B2s' , function (Query $q) { 8 return $q 9 ->enableAutoFields(true); 10 } 11 ])
試したこと
以下の記載があるページを参考にさせて頂きました。
・(CakePHP2.x) 1つのテーブルで複数の外部キーを使う
・Cakephp : 複数の外部キーの設定
以下を見つけたので参考に進めています。
https://teratail.com/questions/69580?link=qa_related_pc_sidebar
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー