[CakePHP]find(‘list’)でjoinしたテーブルに検索をかけるとエラーになる

表題の通りです。
エラーになったSQLを見れば一目でわかりますが、listで検索をかけると強制的にアソシエーションが解除されます。
recursive=2とかしてもダメみたいです。
list使わずに素直に、all使って変形させたほうがよさそうですね。

なんか、知らずに検索条件が追加される場合もあるだろうし、基本的にfind(‘list’)は使わないほうがよさそう。

Hash::combine()使えば簡単にできます。
$hoges = Hash::combine($results, ‘{n}.Hoge.id’,'{n}.Hoge.id’);

タイトルとURLをコピーしました