Нет такой вещи, как рекурсивный 3 (see book).
Вы также можете использовать Контейнер, чтобы ограничить результаты поиска на основе детского состояния (see reasoning).
Я предполагаю, что вы хотите сделать что-то вроде этого (начиная с гаражом, чтобы уменьшить один запрос необходимо, так как он имеет идентификатор пользователя, как поле):
$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
)
)
)
));
должен возвращать результат (ов), если это владелец или пустой, если нет.