イーガーロードを使用したクエリビルダでのテーブル結合
containを使用したクエリビルダーの実装に手間がかかったのでメモ
<?php $query = $this->Patron->find() ->select(['Patron.number', 'Patron.id', 'Patron.password', 'Patron.username', 'Patron.email', 'Patron.deleted']) //結合するテーブルをcontain ->contain(['Children' => [ //別テーブルのフィールドをselectする場合はfieldsの連想配列内で指定する。テーブル名から指定してあげないといけない 'fields' => [ 'Children.id', 'Children.username', 'Children.deleted', 'Children.patron_number' ] ], 'Children.ChildClass' => [ 'fields' => [ 'ChildClass.class_name' ] ]]) ->where(['Patron.number' => $this->request->getParam('id')]); $this->set('accountInfo', $query); ?>