Используя CakePHP 1.3, у меня есть оператор Find с условием глубокой ассоциации 3-го уровня:
Отель> Номер> RoomType> name
Я бы хотел, чтобы в моем заявлении «Поиск» были возвращены только отели с номерами комнат, которые имеют имя «Люкс».
Я считаю, что следующий код должен работать, но это не так, сообщая об ошибке синтаксиса SQL:
$this->Hotel->find('first', array(
'contain' => array('Room' => array('RoomType')),
'conditions' => array(
'Hotel.Room.RoomType.name' => 'Suite'
),
));
Обратите внимание, что в отеле будет много номеров, но в каждом номере будет только 1 номер типа
Я читал об использовании условия в операторе содержимого, но оно ограничивает только возвращаемые типы номеров, а не общие отели.
Я видел похожие вопросы, опубликованные здесь, но я не нашел такой, которая, кажется, решает эту проблему.