Новые функции в репозитории фреймворка: ORM/ActiveRecord
4
Всем добрый день.
Хотелось бы рассказать немного о, думаю, многим уже известном, движке LiveStreet. Точнее, о том, как продвигается его развитие и о новых функциях в dev-репозитории.
- +2
- 08 декабря 2010, 11:51
- Ajaxy
- habrahabr.ru/blogs/livestreet/...
Стоило мне убить день и разобраться, как появился материал. Спасибо за труды.
Тот пример со статьями плохо работает с текущей версией движка из репозиория? Пока не понял, как заставить его работать без ошибок, но ошибка уходит, если убрать связь с юзером (что понятно). Так понимаю, ещё способ — унаследовать ModuleUser_*User в движке от ORM версий абстрактных классов?
Тот пример со статьями плохо работает с текущей версией движка из репозиория? Пока не понял, как заставить его работать без ошибок, но ошибка уходит, если убрать связь с юзером (что понятно). Так понимаю, ещё способ — унаследовать ModuleUser_*User в движке от ORM версий абстрактных классов?
ничего не могу про тот пример сказать, это было как-то давно :)
но в приницпе да, насчет ModuleUser и EntityUser правильно!
но в приницпе да, насчет ModuleUser и EntityUser правильно!
Попробовал поменять родителей для всех классов модуля User — нашёл багу.
Если первичный ключ содержит символ нижнего подчёркивания, получается такая конструкция User_ModulegetUserItemsByArrayUser_Id. Исправил в Engine формирование этой строки (вставил явно слово Module), стало получаться, на первый взгляд, правильно — ModuleUser_getUserItemsByArrayUser_Id.
Далее Engine::GetClassInfo() неправильно разбирает эту строчку и Engine::_CallModule пытается вызвать метод id модуля User.
Если первичный ключ содержит символ нижнего подчёркивания, получается такая конструкция User_ModulegetUserItemsByArrayUser_Id. Исправил в Engine формирование этой строки (вставил явно слово Module), стало получаться, на первый взгляд, правильно — ModuleUser_getUserItemsByArrayUser_Id.
Далее Engine::GetClassInfo() неправильно разбирает эту строчку и Engine::_CallModule пытается вызвать метод id модуля User.
Так и не удалось получить желаемого поведения от этой модели. Есть родительская сущность А, в ней несколько дочерних Б. Всё. Вложенность закончилась. Получить список сущностей А с вложенными сущностями Б. Такое в данный момент получить в принципе возможно или здесь метод в модуле придётся писать ручками?
Код хочу получить примерно такой
Раскуривание исходников в полной мере не проясняет вопроса.
Спасибо.
Код хочу получить примерно такой
СписокСущностейА[0]->GetСписокСущностейБ[1]->getTitle();Раскуривание исходников в полной мере не проясняет вопроса.
Спасибо.
Если придираться и дальше, то тут и не функция. Было бы ->GetСписокСущностейБ()[1]
Я здесь написал псевдокод. Если Get так мозолит глаза, можно его убрать в данном примере.
Проблема не в этом.
Или записать вот так:
$aСписокСущностейБ = $aСписокСущностейА[0]->GetСписокСущностейБ();
$aСписокСущностейБ[1]->getTitle();
Как настроить $aRelations чтобы получить такую структуру?
Я здесь написал псевдокод. Если Get так мозолит глаза, можно его убрать в данном примере.
Проблема не в этом.
Или записать вот так:
$aСписокСущностейБ = $aСписокСущностейА[0]->GetСписокСущностейБ();
$aСписокСущностейБ[1]->getTitle();
Как настроить $aRelations чтобы получить такую структуру?
Комментарии (15)
RSS свернуть / развернуть