Aliaksandr
Ну вот я ради интереса начал переписывать тот же вебикстэйбл на модели. И сразу надо костылить)
Pathologic
ну так поэтому ведь и возникло недовольство контроллерами, что типа раньше делали просто, а теперь стали делать сложнее, но результат получаем тот же
Aliaksandr
Не говоря даже про то, что заменил в одном месте доклистер, во втором модх дб апдейт, а 95% кода осталось
Pathologic
а на сложном примере трудно объяснить так, чтобы это выглядело понятно
Pathologic
да и пример найти проблема
Aliaksandr
Плюс для произвольных таблиц за счет статики, стобы подменить таблицу в модели надо костылить, чтобы подменить поля тоже, т.е. это не предусмотрено)
Aliaksandr
Потому что модель равно таблица грубо говоря
Pathologic
а оно и не должно быть предусмотрено
Pathologic
да
Pathologic
но в модели еще и отношения с другими таблицами отражаются
Pathologic
из кода типа ясна схема данных
Pathologic
а из лапши из modx->db->update понять сложно что к чему
Pathologic
в рево делают подмену полей плагинами
Pathologic
и уже становится сложнее разобраться
Pathologic
откуда берется какое-то поле, если в схеме данных его нет ((:
Pathologic
ну так xpdo и критикуют, что какие-то схемы, мап-файлы, а в елоквенте класс создал и все понятно
Alexander
вы меня пугаете, хватит ужо((
Aliaksandr
Ну вот по итогу на реальном примере и получилось, что все это вылилось в замене в трех местах запроса к базе, остальные 95 процентов кода остались на месте
Dmytro
Dmytro
вообщем, если слушать всех - то все фигня полная))
Aliaksandr
Плюс выбор - либо костылять подмену таблиц либо говорить менеджеру вместо "впиши имя таблицы в настройке модуля" примерно такое "иди создай файл с моделью, наследуй другую модель и там задай протектед тейбл и поля")
Pathologic
должно быть впиши класс модели, а не имя таблицы
Pathologic
орм это же про объекты а не таблицы
Aliaksandr
Так классов еще нет, это же модуль для работы с произвольными таблицами)
Pathologic
у тебя есть модель, с ней и работаешь, а какие там таблицы и где они лежат должно быть побоку
Pathologic
это потому что ты один все делаешь
Pathologic
а если бы кто-то типа базу спроектировал и налепил модели и дал тебе
Aliaksandr
Я имею в виду или создай class myModel extends noMyModel и впиши туда protected $table = имя
Pathologic
верно
Pathologic
но если в модели поменяется таблица или еще что-то, то ты только модель поменяешь, а остальное все как работало, так и будет работать
Pathologic
не нужно будет по коду ползать искать запросы
Aliaksandr
Ну я конкретно про свой пример с модулем "для произвольных таблиц")
Dmytro
Pathologic
ну вот а формлистер работает с моделями, а не таблицами, поэтому ты можешь документы создавать, а можешь другую модель подставить и создавать какую-нибудь другую херню
Aliaksandr
Короче беда) на простейших примерах ничему не научишься, а сложных нигде нет)
Aliaksandr
Pathologic
ну это как с тестами, примеры какие-то в духе проверим что 2+2 = 4, все готовы тесты
Pathologic
и что мне с этим делать
Aliaksandr
Да, идите считайте интегралы, вы все сможете)
Dmytro
Из какой схемы?
шлешь запрос describe the_table, и не паришся с полями
Aliaksandr
Dmytro
вполне возможно))
Aliaksandr
Я про те модели, что в элоквенте, которые требуют указать в классе переменную protected $table и не предполагают ее динамического изменения)
Aliaksandr
Потому что там типа статические методы вроде SiteContent::where
Dmytro
а, вот ты о чем)
Aliaksandr
А ты думал, мы про водонаеву?))
Ilya
Pathologic
Pathologic
только я не понимаю зачем
Pathologic
ну кроме как в модуле указывать имя таблицы
Aliaksandr
Я же с этого и начал, кода там меньше не становится, т.к. 90% не сильно связано с запросами в бд либо их надо предварительно готовить, плюс костылянские моменты появляются :)
Pathologic
ну значит эксперимент не удался, только и всего
Pathologic
и мне больше в модуле видится проблема, чем в елоквенте ((:
Aliaksandr
Ну не знаю, не встречал дополнений, где была бы обратная пропорция типа "10% логика и 90% запросы на моделяхв бд") может не там искал
Aliaksandr
Разве что в "создадим простейшую систему комментариев")
Pathologic
формлистер, регистрация пользователей
Pathologic
указываешь modUsers будут веб-пользователи, указываешь modManagers будут менеджеры
Pathologic
или селектор, там правда вместо модели будет контроллер доклистера
Aliaksandr
Ну это мне кажется не совсем те самые модели, о которых речь
Pathologic
ну почему, это та же по смыслу абстракция
Pathologic
и я же говорю, если бы у тебя в модуле была привязка к моделям, а не таблицам, тогда было бы иначе все
Aliaksandr
В общем надо ждать, пока кто выкатит крутой компонент для 2.0 чтоб понять "и правда круто"))
Pathologic
а так ты зачем-то берешь SiteContent, но хочешь чтобы он работал с другой таблицей
Pathologic
а там ведь кроме таблицы еще и поля и отношения с другими таблицами
Aliaksandr
А то ро опросу 49% его использует и никто ничего не выкладывает
Pathologic
Pathologic
хз как его найти
Pathologic
в общем я тоже как-то написал такое и мне предъявили крутой компонент 😸
Dmytro
ты об этом? https://stackoverflow.com/questions/47986628/how-to-dynamically-set-table-name-in-eloquent-model
Pathologic
Ну че-то я не вижу решений под 2.0
Pathologic
Вот уже есть
https://packagist.org/packages/zeeyn/evocms-branch-publisher
Pathologic
Первый ласточки 🙂
Pathologic
ну а так конечно сначала нужно придумать крутой компонент, а потом уже сделать его на 2.0
Pathologic
может @dzhuryn сделает что-нибудь
Ilya
визуальный конструктор форм
Ilya
придумано
Ilya
=)(