Юра
{ postTitle: "Blabla", tags: [1,2,3] }
Юра
и что
Vlad
и все конструткор
Konstantin
если мы это сделаем на торчащих наружу паблик-полях, контролировать инварианты состояния сущности будет нереально
Юра
как ты обратываешь tags
Юра
я знаю как ты будешь обрабатывать tags
Юра
ты заваришь чайку
Юра
и накидаешь ту же самую хрень которая у меня вынесена в трейт
Vlad
я знаю как ты будешь обрабатывать tags
тебе нужно сохранить или что?
Konstantin
я знаю как ты будешь обрабатывать tags
у него там будет нормалайзер сериалайзера
Юра
зато это будет понятно
Vlad
@Ivan_Leshchov вызываю главного эксперта
Юра
ну сералазйер вызовет setTags(...)
Vlad
если есть конструктор
Юра
в смысле зачем setTags
Vlad
впрямом зачем он мне?
Юра
чтобы не писать как раз всю эту лапшу if ($this->tags->contains) бблабабла .
Юра
удалить если не передано
Юра
добавить если нету
Юра
обновить у тега
Юра
и т.д.
Иван
дело в том, что сама сущность конечно будет поддерживать свою инвариантность только вот для целостности фичи этого недостаточно
Юра
короче у меня все просто , пришел массив, сразу в сеттер, все удалилось добавилось и всё
Иван
сущность не может ходить в соляру сущность не может флашнуть изменения в доктрину
Юра
я не знаю не вижу смысла себе жизнь усложнять
Vlad
да никто не усложняет
𝕎𝕒𝕣𝕞
Это как???
Юра
потому что использовать orphanRemoval без четкого понимания что ты делаешь это плохая идея
Юра
Тебе насоветуют тут
Юра
что вся БД удалится
Konstantin
потому что использовать orphanRemoval без четкого понимания что ты делаешь это плохая идея
> потому что использовать симфони без четкого понимания что ты делаешь это плохая идея
Юра
Поэтому все юзают ларавель )
Юра
Там можно без особого понимания писать
Юра
Вот он секрет раскрыт
Konstantin
ну вот твой кусок кода выше - классическая ларавельщина
Юра
Ой блин в одном месте только у меня есть меджик проперти
Юра
Можно переписать без них
Konstantin
а так всегда, стоило один раз выебать овцу...
Юра
Но больше бойлерплйта будет
Gleb
Так я вроде приписал что orphanRemoval, что бы руками не unset'ить обратную связь.
Юра
У меня кстати так и было в начале
Юра
Передавал туда фцию
Юра
Особого плюса кроме как что идее полсветит сразу опесатку нет
Konstantin
ну я ж говорю, оно об андерскор в имени обломится
Юра
Но так как это чисто сервисный метод один раз написал и забыл то вот решил согрешить
Юра
Смотря по ситуации
Юра
Но ты прав конечно
Юра
Не всегда это подойдёт
Юра
Я кстати тут подвис на твоей фразе
Юра
Если у тебя есть и овнинг и инверс
Юра
То по идее нужно же обновить инверс
Юра
А это разве не приводит к выгрузке коллекции?
Gleb
А вот вопрос, в М2М у нас же отдельная таблица, и надо ли обновлять инверс? (Рубрика: глупые вопросы))))
Юра
Наверное надо смотреть что за тип у инверс
Юра
В плане что за коллекция
Юра
Инверс не обязательно вообще обновлять. Но если ты потом в другом месте начнёшь читать инверс, то там не будет твоей энтити если к моменту вставки коллекция была уже выгружена
Юра
Получается фигня типо энтити есть уже, но твой код о ней не знает
Gleb
Получается фигня типо энтити есть уже, но твой код о ней не знает
Спасибо, вспомнил в чем проблема с инверсом.)
Konstantin
орм вообще странная вещь, вообще не могу себе придумать как ее сделать нормально. чего ни коснись - везде говно какое-то
Юра
ОРМ как идеч крутая, но текущая реализация например в доктрине слишком много позволяет сломать если не думать
Gleb
И кстати спасибо что накидали про ophranRemoval, сейчас пойду хоть разберусь с ним.
Konstantin
мое любимое - ленивость геттера. выводишь ты, допустим, в цикле посты и кол-во комментов, и уровнем выше забыл поджойнить посты с комментами, и привет тыщщи запросов на одной странице. причем, пока в профайлер не полезешь, хер поймешь что ты джойн забыл
Dmitry
орм вообще странная вещь, вообще не могу себе придумать как ее сделать нормально. чего ни коснись - везде говно какое-то
То просто пользоваться надо научиться, и под капот чуть залезть, чтобы понять как работает))
Konstantin
да я-то примерно понимаю, я куда-то там контрибутил даже в свое время. и чем дольше смотрю на них, тем больше понимаю, что невозможно сделать нормально
Юра
Вопрос в том перевешивают ли плюсы орм его минусы
Юра
Как в любом деле
Dmitry
Недаром, под свои нужды нужно свой подход использовать и далеко не везде это использование орм :)