表題の通りです。
エラーになったSQLを見れば一目でわかりますが、listで検索をかけると強制的にアソシエーションが解除されます。
recursive=2とかしてもダメみたいです。
list使わずに素直に、all使って変形させたほうがよさそうですね。
なんか、知らずに検索条件が追加される場合もあるだろうし、基本的にfind(‘list’)は使わないほうがよさそう。
Hash::combine()使えば簡単にできます。
$hoges = Hash::combine($results, ‘{n}.Hoge.id’,'{n}.Hoge.id’);