1

我有一个使用 Doctrine 从数据库加载的实体。

此实体具有属性的自定义映射类型

在某些情况下,Doctrine 将返回该实体的代理,当我将其传递给 Symfony Validator 时,它错误地报告该属性为空白。

我相信这是因为验证器使用反射直接访问属性(而不是通过 getter)。由于未使用 getter,因此不会提示代理加载属性值,因此验证器将其视为空白。

有什么技巧可以确保 Symfony Validator 在验证代理时不会被绊倒吗?


我不想将实体配置为总是急切地加载。我目前的解决方法是检查实体是否是一个实例,\Doctrine\ORM\Proxy\Proxy然后调用\Doctrine\Common\Persistence\Proxy::__load()以确保所有属性都已加载。

4

0 回答 0