CakePHP 1.3を使用して、3レベルの深い関連付けの条件を持つFindステートメントがあります:ホテル>部屋>部屋タイプ>名前
Findステートメントで、名前が「Suite」のRoomTypesのホテルのみを返すようにしたいと思います。
次のコードは機能するはずですが、機能せず、SQL構文エラーが示されています。
$this->Hotel->find('first', array(
'contain' => array('Room' => array('RoomType')),
'conditions' => array(
'Hotel.Room.RoomType.name' => 'Suite'
),
));
ホテルには多くの部屋がありますが、各部屋には1つのRoomTypeしかありません。
containsステートメント内での条件の使用について読みましたが、それは返されるRoomTypesのみを制限し、Hotels全体は制限しません。
ここに同様の質問が投稿されていますが、この問題を解決していると思われる質問は見つかりませんでした。