Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Илья Гость цитировать
|
Добавлено: 14 Авг 2010 13:06:22 Заголовок сообщения: Связывание моделей |
|
|
У нас есть две модели Post и Comment.
Соответственно связь Post hasMany Comments.
Мне понятно как это работает в рельсах. Но в кейке это сделано по уродски.
При удалении поста, удаляются все комменты - это правильно.
Но при вытаскивании поста (Post->findById) в кейке атоматически вытаскиваются все комменты к данному посту.
Если а нас допустим по 300 комментов к 10 постам. И надо получить список постов - автоматически вытаскиваются 3000 комментов хотя нам этого явно не нужно.
С другой стороны если не использовать ассоциацию hasMany, то получаем геморой при удалении модели.
Как вы решали данную проблему? |
|
Вернуться к началу |
|
|
michas
цитировать
Зарегистрирован: 28 Янв 2008 11:28:31 Сообщения: 123
|
Добавлено: 14 Авг 2010 23:13:25 Заголовок сообщения: |
|
|
Код: |
$this->Post->recursive = -1;
|
перед findById. выберет без связей.
з.ы. прежде чем говорить что что-то сделанно по уродски можно и в руководство заглянуть _________________ Все самое интересное в реальном времени - xmpp:cakephp@conference.jabber.ru |
|
Вернуться к началу |
|
|
evilbloodydemon
цитировать
Зарегистрирован: 11 Окт 2007 20:32:19 Сообщения: 125
|
Добавлено: 17 Авг 2010 16:09:27 Заголовок сообщения: |
|
|
$actsAs = array('Containable');
$recursive = -1
в AppModel спасет отца русской демократии, потому что рекурсив не может избирательно подключать модели одного уровня, а Containable - запросто _________________ поздняк метаться - ракеты в воздухе
jabber-конференция по CakePHP - xmpp:cakephp@conference.jabber.ru |
|
Вернуться к началу |
|
|
|