Не существует такой вещи, как рекурсивный 3 (см. Книгу).
Вы также не можете использовать Containable для ограничения результатов поиска на основе дочернего условия (см. Обоснование).
Я предполагаю, что вы захотите сделать что-то вроде этого (начиная с Garage, чтобы сократить один необходимый запрос, поскольку он имеет идентификатор пользователя в качестве поля):
$this->Garage->find('all', array(
'conditions' => array(
'Garage.user_id' => $userId
),
'joins' => array(
array(
'table' => 'vehicles',
'alias' => 'Vehicle',
'type' => 'inner',
'conditions' => array(
'Vehicle.garage_id = Garage.id'
)
),
array(
'table' => 'vehicle_albums',
'alias' => 'VehicleAlbum',
'type' => 'inner',
'conditions' => array(
'VehicleAlbum.vehicle_id = Vehicle.id',
'VehicleAlbum.id' => $vehicleAlbumId
)
)
)
));
Должен возвращать результат (ы), если он принадлежит владельцу, или пустой, если нет.
person
Dave
schedule
14.01.2014