Комментарии 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 прицеплен, — не срабатывает. Не обрабатывает поля, полученные подобными запросами.
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);
Теоретически это должно сработать.
Я бы посоветовал бы Вам небольшой хак.
$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);
Теоретически это должно сработать.
буквально вчера проскочила книга по прирожку — www.pseudocoder.com/Super_Awesome_Advanced_CakePHP_Tips.pdf, и вроде там было про такой случай. надеюсь поможет :)
я вообще-то работаю с ZF, но по аналогии могу сказать — иногда стоит использовать модель для view.
>Image — чудесный behavior Евгения Томенко,
Хи-хи, я знаменит :)
Хи-хи, я знаменит :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
CakePHP. Behaviors — измена!