15 комментариев

avatar
не забываем плюсовать пост на хабре ;)
avatar
Стоило мне убить день и разобраться, как появился материал. Спасибо за труды.

Тот пример со статьями плохо работает с текущей версией движка из репозиория? Пока не понял, как заставить его работать без ошибок, но ошибка уходит, если убрать связь с юзером (что понятно). Так понимаю, ещё способ — унаследовать ModuleUser_*User в движке от ORM версий абстрактных классов?
avatar
ничего не могу про тот пример сказать, это было как-то давно :)
но в приницпе да, насчет ModuleUser и EntityUser правильно!
avatar
Я так понял, планируется перевод модулей-мапперов-сущностей на ORM? Ну поменяю я локально наследование не от Entity, а от EntityORM, потом обновлю и снова менять…
avatar
Попробовал поменять родителей для всех классов модуля User — нашёл багу.

Если первичный ключ содержит символ нижнего подчёркивания, получается такая конструкция User_ModulegetUserItemsByArrayUser_Id. Исправил в Engine формирование этой строки (вставил явно слово Module), стало получаться, на первый взгляд, правильно — ModuleUser_getUserItemsByArrayUser_Id.

Далее Engine::GetClassInfo() неправильно разбирает эту строчку и Engine::_CallModule пытается вызвать метод id модуля User.
avatar
Ну согласное соглашению по именам методов и не должен содержать )
avatar
Где есть соглашение?

Я не отрицаю, не должен. Но бага всё-таки есть. Не я же генерирую вызов этого метода. Вопрос открыт.
avatar


З.Ы. я как бы согласен если не вы генерируете название и бага присутствует =)
avatar
Омг. На мой вкус, стандарт именования в LiveStreet несколько отличается от PEAR'овского. Так что эта дока хоть и хороша, в данном случае, не актуальна.
avatar
в ЛС вообще нету стандарта наименования, на мой вкус. ок
avatar
Так и не удалось получить желаемого поведения от этой модели. Есть родительская сущность А, в ней несколько дочерних Б. Всё. Вложенность закончилась. Получить список сущностей А с вложенными сущностями Б. Такое в данный момент получить в принципе возможно или здесь метод в модуле придётся писать ручками?

Код хочу получить примерно такой
СписокСущностейА[0]->GetСписокСущностейБ[1]->getTitle();


Раскуривание исходников в полной мере не проясняет вопроса.

Спасибо.
avatar
результаты выполнения функций в PHP нельзя использовать как массивы: ->GetСписокСущностейБ[1]
avatar
Если придираться и дальше, то тут и не функция. Было бы ->GetСписокСущностейБ()[1]

Я здесь написал псевдокод. Если Get так мозолит глаза, можно его убрать в данном примере.

Проблема не в этом.

Или записать вот так:

$aСписокСущностейБ = $aСписокСущностейА[0]->GetСписокСущностейБ();
$aСписокСущностейБ[1]->getTitle();

Как настроить $aRelations чтобы получить такую структуру?
avatar
Здорово. Собственно все вопросы расхватали еще на хабре.
Почему ActiveRecord и почему свой велосипед если есть, скажем Doctrine 2
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.