CakePHP3のjoinした各テーブルの項目取得方法

CakePHP3で、データベースの検索時のモデルを join することが多いと思います。
join した各テーブルのすべての項目が必要という場合は少ないと思います。
そういった場合には、出力項目を設定することで、取得項目を調整できます。

JOIN サンプルプログラム

抜粋サンプル
$query = $this->Users->find('all')->leftJoinWith('Notes')
        ->select($this->Users)
        ->select([ 'Notes_text' => 'Notes.text'])
        ->where(['id' => $user_id]);

join したテーブルの全項目を取得する場合には、select に対象テーブルを指定します。
一部の項目を取得する場合には、
エイリアス名 => テーブル.項目名称
で対応付けします。

スポンサーリンク