CakePHPのfind()でjoinオプション使う場合はfieldsもちゃんと指定しよう

タイトルとおりのことです。

うまくjoin出来てるはずなのにな〜〜なんでだろうなぁ、sql_dumpでちゃんと思い通りのSQL発行されてるのにな〜なんだろうなぁ・・・と思い、色々optionを指定していたらタイトルとおりのことが出来ていなかったせいで結果が反映されていませんでした。

下記のようなコードを書いた場合はちゃんとfieldsも指定しましょう

$this->User->find('all', [
    'joins' => [
        'comment' => [
            'table' => 'comment',
            'alias' => 'Comment',
            'type' => 'inner',
            'conditions' => [
                'User.id = Comment.user_id'
            ]
        ]
    ],
    'fields' => '*'
]);

これで解決。めでたしめでたし!

参考:http://stackoverflow.com/questions/4354846/cakephp-display-custom-fields-from-array/4355357#4355357

cakePHP2.0のfindでINNER JOINしてもJOINしたテーブルが表示されない