У меня есть объект, который загружается из базы данных с помощью Doctrine.
Эта сущность имеет Пользовательский тип отображения для собственности.
В некоторых случаях Doctrine возвращает прокси для этой сущности, и когда я передаю это Symfony Validator, он неправильно сообщает, что свойство пустое.
Я полагаю, что это потому, что валидатор использует отражение для прямого доступа к свойству (а не через геттер). Поскольку метод получения не используется, прокси-серверу не предлагается загрузить значение свойства, и поэтому средство проверки видит его пустым.
Есть ли хитрость, чтобы гарантировать, что Symfony Validator не будет запущен при проверке прокси?
Я не хочу настраивать сущность так, чтобы она всегда загружалась. Мой текущий обходной путь — проверить, является ли объект экземпляром \Doctrine\ORM\Proxy\Proxy
а затем позвоните \Doctrine\Common\Persistence\Proxy::__load()
чтобы убедиться, что все свойства загружены.
Задача ещё не решена.
Других решений пока нет …