с доктриновскими сущностями? Я просто привык с ActiveRecord и там я могу как с массивом работать, бежать foreach циклом, проверять наличие ключа в массиве и записывать если он есть. А с сущностями уже так не канает.
Суть в том, что это update запрос, и в нем должно быть можно изменить любое поле, при этом не передавая остальных, кроме обязательных типа ID
Тут правда еще одна ошибка, там можно в get передать $entity->getFieldName() и обойтись без ??. get возвращает default mixed значение. Ну это не суть, я бы вообще отрефакторил эту портянку полностью
твой клиент @fes0r )))) открой скриншот
Почему не канает?) $method = 'set'.ucfirst($field); if (method_exists($method, $entity) $entity->{$method}($value) )
Да это нечитабильно просто. Там придется либо привести все snake_case поля в запросе к camelCase при валидации, что впринципе вариант и проверять через set. С тем же успехом можно сделать универсальный set метод вида setField(string $fieldName, mixed $value) и внутри уже можно работать через this. Предварительно повесив проверку, что если null не записывать. Но все эти способы не очевидны и рнарушают строгую типизацию
та шо то хуйня, шо эта
Обсуждают сегодня