前提・実現したいこと
cakephp3にてhasOneとhasManyで結合されたDBの値を取得したいのですが
データベースエラーとなってしまい、期待した値を取得することが出来ない状態です。
該当のソースコード
テーブル構成
--School--
id 1、2
name schoolA、 schoolB
--Class--
id 1、2
name classA、classB
--Student--
id 1、2
name nameA、nameB
tell tellA、tellB
SchoolはhasOneでClassと繋がっています
ClassはhasManyでStudentと繋がっています
以下の形でClassに紐付くStudentのnameをselectで取得したいと考えているのですが
データベースエラーが出てしまい値の取得が出来ません。
この場合、どのような記載を行えば目的の値を取得することが出来るようになるのでしょうか。
■試したコード(取得したいのはSchool,Class,Studentのname)
※以下のコードの場合、SchoolとClassのnameは取得できます。
※select内の'Class.Students.name'にてエラー
$DataArray = $this->Schools
->find()
->contain(['Class' => 'Students'])
->select(['name', 'Class.name', 'Class.Students.name'])
-<toArray();
■テーブルのデータを取得した場合、以下の階層でデータが格納されています
Array
(
[0] => School Object
(
[id] => 1
[name] => schoolA
[class] => Class Object
(
[id] => 1
[name] => classA
[student] => Array
(
[0] => Student Object
(
[id] => 1
[name] => nameA
[tell] => tellA
)
[1] => Student Object
(
[id] => 2
[name] => nameB
[tell] => tellB
)
)
)
)
)
プログラミングの経験が浅く、説明が拙い箇所がございますが
何卒ご教授いただけないでしょうか。