Иван
из базы то строка придёт
The Ant
ну молодец, сэкономил
если научишь как просто делать такое фетчерами, буду делать по твоему
The Ant
доктрина просто умеет джойнить с флагом with, и это очень сильно экономит сраные джойны релейшенов вручную
Иван
ви таки посмотрите, теперь Муравья sql подводит
The Ant
ну потому что у меня не плоские таблички в 1 уровень, а есть вложения
The Ant
приходится дрочиться ) я уже думал поставить какой эктив рекорд, елоквент там. Чтобы не мучаться. А тут и доктрина умеет такое в принципе
Vlad
муравей а ты пробовал getScalarResult()?
Павел
если научишь как просто делать такое фетчерами, буду делать по твоему
Короче каст типов на самом деле не шибко геморная задача, если неохото вручную. Можно через PDO типы ловить, а потом кастить при помощи доктрины или своих кастеров. Вот сделать вложенную структуру сложнее на автомате, как мне кажется. Я как то сделал, но самому реализация не нравится
Vlad
что то подсказывает там без гидрации типов
The Ant
муравей а ты пробовал getScalarResult()?
это что? ) чую циферку какую-то вернуть?
Павел
Или отдать ему контекст
Иван
Можно насттроить еще DateTimeNormilizer
он не хочет сериалайзер
The Ant
так придется, это самое адекватное решение пока что
Павел
он не хочет сериалайзер
Так он пишет что его юзает
Павел
так придется, это самое адекватное решение пока что
Ну зависит от того что ты хочешь, если тебе надо объект в массив превратить, то нужен сериалайзер. А если не использовать дто и сериалайзер, и работать с массивами - свой каст форматтер написать
Иван
Так он пишет что его юзает
да я уже не знаю, чего он хочет
Павел
мне надо в массиве превратить все объекты с датой в нужный мне формат даты текстом :D
Откуда у тебя вообще в массиве, который ты достал их базы даты образовались? Или ты ОРМ юзал?
Vlad
Павел
доктррина сделала
Пришли плиз скрин кода, какой то странный формат - частично гидировала, частично нет
Vlad
нет
getScalarResult() и форматируй на уровне скуля
Павел
Иван
лишь бы не писать фетчер и дто
Павел
На самом деле прикольная тема, надо присмотреться
Павел
Она получается и one to many норм разруливает? И Пагинация есть?
The Ant
можно сделать да
The Ant
но это описанные релейшены в сущностях
The Ant
не произвольные джойны. мне собственно это и надо
Павел
не произвольные джойны. мне собственно это и надо
Если это не произвольные join тогда и тип не указывай - лишнее
Павел
там все норм подтянется, когда связи реальные указываешь
The Ant
какой тип?
Павел
какой тип?
Condition type
The Ant
а
Павел
если научишь как просто делать такое фетчерами, буду делать по твоему
На самом деле этот код можно и в фетчер засунуть)
Nikolay
вот запрос из репо
Не комильфо из репозитория массив отдавать
The Ant
почему?
Павел
почему?
Репозизторий - это работа с объектами, сущностями. Ты я так понимаю юзаешь чтение. Засунь в фетчер этот код.
Nikolay
почему?
Если там сущности внутри, то может и можно
Павел
Что у тебя внутри фетчера - пох
The Ant
пусть в репозитории лежит
The Ant
Репозизторий - это работа с объектами, сущностями. Ты я так понимаю юзаешь чтение. Засунь в фетчер этот код.
это всё условности, репозиторий нужен чтобы получить оттуда данные, а в каком виде уже дело десятое.
Vlad
Не комильфо из репозитория массив отдавать
а если типизирую? array{pypa: string}))
Павел
Ну точнее есть разные холивары, не будем, ладно )
Nikolay
а если типизирую? array{pypa: string}))
Там не сущность лежит, юзать репозиторий для ui не огонь
Павел
это всё условности, репозиторий нужен чтобы получить оттуда данные, а в каком виде уже дело десятое.
Смотри просто в чем еще прикол. У тебя будет миллион разных вариаций джля чтения, и все это будет в одном репо. Гамно же
Павел
Положи в другой класс (можешь называть не фетчер, пох ваще)
The Ant
fetcher
как предлагаешь реализовывать добавление релейшенов?
Vlad
я думаю у муравья не большой проект, поэтому этот фетчер невсрался
Павел
как предлагаешь реализовывать добавление релейшенов?
Да причем тут релейшены, свой код просто туда положи
The Ant
я щас скину фетчер, вы охуеете, скажете что я долбоеб )
Павел
Прям в таком виде
Павел
Пох что ты там используешь работу через ОРМ, главное что сущности не юзаешь
Иван
я щас скину фетчер, вы охуеете, скажете что я долбоеб )
если тебе это нужно, то скажем, даже если не кинешь только попроси
Vlad
муравьетчер
© The Ant Technologies
Vlad
vladimir одмину занес $?
The Ant
https://pastebin.com/AYNAKDvt
The Ant
я не знаю как тут делать адекватно, доктриной будет очень даже ок, через репозитории
The Ant
я понимаю что это конченное решение, если чо 😄
Nikolay
Есть такой код if (....) { if (...) { ....} } Что думаете по поводу использование таких методов (changeTypeIfNull например), внутри которых будет проверка вместо вложенных ифов?
Павел
https://pastebin.com/AYNAKDvt
buildQuery какой то перенавароченный, а так вроде норм
The Ant
buildQuery какой то перенавароченный, а так вроде норм
там просто фильтр большой . И нет, это не нормально )
Павел
там просто фильтр большой . И нет, это не нормально )
Я имею ввиду не объем фильтров, а как каждый фильтр написан. expr (можно без него), is null - наверное по заданию, но странный кейс "нет статуса"
Павел
Опять таки, если у тебя PostFilter, почему в нем работа с массивом. Это не типизированная ДТО видимо у тебя. Тогда может просто сделать Filter дто?