Как стать автором
Обновить

Комментарии 8

> Model B -> Model -> A ( с условиями, где выборка идёт по полям Model A)
Можно или кусочек кода или расшифровать что тут имеется ввиду.
Посмотрел свои исходники, немного я напутал, но это сути не меняет. Вот модели:

Immovable hasMany Best
Immovable actAs Image

Best belongs to Immovable

Выбирать надо по критерию Best.country_id

$this->Immovable->Best->find('all',array('conditions' => array('Best.country_id' => $country), 'limit' => 5,
'contain' => array('Immovable' => array('order' => array('Immovable.created' => 'ASC')))));

Выборка идёт правильно. Однако behavior, который на Immovable прицеплен, — не срабатывает. Не обрабатывает поля, полученные подобными запросами.
Я не нашел в коде cakephp обработки behavior для связанных моделей, только для основной, во всяком случае для простых связей.

Я бы посоветовал бы Вам небольшой хак.

$results = this->Immovable->Best->find('all',array('conditions' => array('Best.country_id' => $country), 'limit' => 5, 'contain' => array('Immovable' => array('order' => array('Immovable.created' => 'ASC')))));

$this->Immovable->Behaviors->Image->afterFind($this->Immovable, $results, false);

Теоретически это должно сработать.

Это — действительно работает!
Спасибо :)
Бегло посмотрел по запросу «behavior» — ничего путного не нашёл.
Сейчас засяду внимательно изучать… Спасибо за ссылку
я вообще-то работаю с ZF, но по аналогии могу сказать — иногда стоит использовать модель для view.
>Image — чудесный behavior Евгения Томенко,
Хи-хи, я знаменит :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории