Может еще тогда подскажите, как от вот такой дичи избавляются

с доктриновскими сущностями? Я просто привык с ActiveRecord и там я могу как с массивом работать, бежать foreach циклом, проверять наличие ключа в массиве и записывать если он есть. А с сущностями уже так не канает.

Суть в том, что это update запрос, и в нем должно быть можно изменить любое поле, при этом не передавая остальных, кроме обязательных типа ID

7 ответов

5 просмотров

Тут правда еще одна ошибка, там можно в get передать $entity->getFieldName() и обойтись без ??. get возвращает default mixed значение. Ну это не суть, я бы вообще отрефакторил эту портянку полностью

твой клиент @fes0r )))) открой скриншот

Почему не канает?) $method = 'set'.ucfirst($field); if (method_exists($method, $entity) $entity->{$method}($value) )

Константин Грачев
Почему не канает?) $method = 'set'.ucfirst($field...

Да это нечитабильно просто. Там придется либо привести все snake_case поля в запросе к camelCase при валидации, что впринципе вариант и проверять через set. С тем же успехом можно сделать универсальный set метод вида setField(string $fieldName, mixed $value) и внутри уже можно работать через this. Предварительно повесив проверку, что если null не записывать. Но все эти способы не очевидны и рнарушают строгую типизацию

Похожие вопросы

Обсуждают сегодня

вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
как через magic forms посылать мультиязычные имейлы?
Sergei Toroptsev
4
Это что теперь, любой бот сможет принимать платежи без ебли с юр лицами?
Lencore
8
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Не догоняю немного каким боком тут эппл Вот есть веб (мини) апп, который по факту веб сайт, просто в телеге веб вью и если там оплата, то нежно вот эти приседания?
e\\/gen
7
Друзья, за кем?
Magic
12
ого, спасибо Никит, ты как всегда кладезь нужной инфы! Сейчас пойду копаться, а мне релиз создать как и версию самого плагина? типа 1.0.8?
Alex Blaze
9
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Всем ку, есть у кого нибудь авторег акков тг сразу в сессию pyrogram?
Rick Sanchez
4
@NativeCoder хочет кикнуть @lautsevich из чата. Согласны? Информация по переезду из 🇺🇦 в 🇨🇦
Banof
2
Карта сайта