Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Связывание моделей

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Илья
Гость
цитировать






СообщениеДобавлено: 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
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru