Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
Подгрузка связей в ORM http://forum.kohanaframework.su/viewtopic.php?f=33&t=674 |
Страница 1 из 1 |
Автор: | vchv [ 11 июн 2013, 15:04 ] |
Заголовок сообщения: | Подгрузка связей в ORM |
День добрый! Народ подскажите по связям и их подгрузке Есть модель которая понятно с чем и как связана Код:
Вызов в контроллере происходит банально Код:
[url]http://kohana3.ru/module/orm#многие-ко-многим[/url] вроде бы метод ->with('articlecat') должен формировать и подгружать данные по запросу Код:
т.е. выбирать категорию которой соответствует статья. Конечно же приведенный код не работает потому что я никак не соображу как же передать category_id последней статьи в id category(туфталогия какаято ). И собственно вопросы: как же передать эту долбаную category_id в id category; в оф.мануале ко3.3 описания метода не нашел, работает ли он с кохана 3.3; ПОМОГИТЕ ДИЛЕТАНТУ!!! ПОЖАЛУЙСТА!!! |
Автор: | WinterSilence [ 11 июн 2013, 16:30 ] |
Заголовок сообщения: | Re: Подгрузка связей в ORM |
что твой код должен делать? выводить последнюю добавленную статью? |
Автор: | vchv [ 11 июн 2013, 16:54 ] |
Заголовок сообщения: | Re: Подгрузка связей в ORM |
WinterSilence писал(а): что твой код должен делать? выводить последнюю добавленную статью? Статью он выводит. Никак не соображу каким образом вытащить из получаемых данных значение поля category_id и по этому параметру вывести название категории к которой принадлежит статья. |
Автор: | vchv [ 11 июн 2013, 17:07 ] |
Заголовок сообщения: | Re: Подгрузка связей в ORM |
Код:
при использовании подгрузки выдает вышеупомянутую ошибку, т.е. ээээээ...умммм...ээээмммм нехватает самой малости чтобы догнать как работает метод подгрузки |
Автор: | vchv [ 11 июн 2013, 17:35 ] |
Заголовок сообщения: | Re: Подгрузка связей в ORM |
РЕШИЛ!!!!ЗАРАБОТАЛА!!! В общем суть проблемы сводилась к тому что бы подгрузить название категории к статье, на форуме где то обсуждалось, но кода было очень много, на метод подгрузки набрел случайно вот его реализация. Модель Код:
Контроллер Код:
Метод with формирует запрос (пример) Код:
Вид Код:
Резюмирую: метод with обращается к модели и подгружает связь указанную в псевдониме и передает ее в формируемый объект класса. Модератор, прошу прощения не знаю как удалить лишние "записки сумасшедшего" |
Автор: | WinterSilence [ 11 июн 2013, 18:18 ] |
Заголовок сообщения: | Re: Подгрузка связей в ORM |
эээ а зачем Цитата: ->with('articlecats')// ЗАМЕЧАТЕЛЬНЫЙ МЕТОД КОХАНА - ПОДГУЗКА СВЯЗИ если ты уже задал $_belongs_to ? http://kohanaframework.org/3.3/guide/or ... ips#hasone |
Автор: | vchv [ 11 июн 2013, 19:07 ] |
Заголовок сообщения: | Re: Подгрузка связей в ORM |
WinterSilence писал(а): эээ а зачем Цитата: ->with('articlecats')// ЗАМЕЧАТЕЛЬНЫЙ МЕТОД КОХАНА - ПОДГУЗКА СВЯЗИ если ты уже задал $_belongs_to ? http://kohanaframework.org/3.3/guide/or ... ips#hasone "Подгрузка связей работает только со связями типа «Один к одному» (has one) и «Много к одному» (belongs to)." http://kohana3.ru/module/orm#много-к-одному написано же было помогите дилетанту))) Честно говоря не экспериментировал, остановился на рабочем варианте, но очевидно удобство - определить связи в модели и определить метод в объекте класса .... |
Автор: | WinterSilence [ 11 июн 2013, 19:34 ] |
Заголовок сообщения: | Re: Подгрузка связей в ORM |
я тоже не шибко специалист, но получается ты одну и туже модель дважды добавляешь, но по разному. по идее достаточно $_belongs_to или $_has_one у модели прописать и $article->articlecats->id будет работать Код:
|
Автор: | vchv [ 12 июн 2013, 11:38 ] |
Заголовок сообщения: | Re: Подгрузка связей в ORM |
WinterSilence писал(а): я тоже не шибко специалист, но получается ты одну и туже модель дважды добавляешь, но по разному. по идее достаточно $_belongs_to или $_has_one у модели прописать и $article->articlecats->id будет работать Код:
Привет, глубоко не ковырял, проверю отпишусь |
Страница 1 из 1 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |