【问题标题】:Entity not Found Exception on Doctrine2在 Doctrine2 上找不到实体异常
【发布时间】:2018-01-16 07:49:25
【问题描述】:
场景:我有两个实体。产品和产品组。 Product 与 ProductGroup 具有多对一的关系。我软删除 ProductGroup。然后我尝试在一个产品上调用 getProductGroup,该产品的产品组被软删除。
问题: 我得到的是“消息:找不到实体”,而不是预期的 null 结果。异常消息。
$productGroupName = $product->getProductGroup() !== null ? $product->getProductGroup()->getName() : '';
【问题讨论】:
标签:
doctrine-orm
orm
zend-framework2
【解决方案1】:
这是因为 Doctrine2 正在生成代理,而不是 soft-deletable 的情况,尽管我正在使用它。但是在没有实现soft-deleteable 的实体中,我遇到了同样的问题。所以对我来说固定的是在定义关系的实体注释上添加fetch="EAGER"。喜欢
/**
* @var \ReisesparerAPIs\Entity\Vouchers
*
* @ORM\OneToOne(targetEntity="ReisesparerAPIs\Entity\Vouchers", inversedBy="couponOrder", fetch="EAGER")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="voucher_id", referencedColumnName="id")
* })
*/
private $voucher;
Reference Link