在Doctrine2上找不到实体

时间:2018-01-16 07:49:26

标签: doctrine-orm orm zend-framework2

场景:我有两个实体。产品&产品组。产品与ProductGroup有多对一的关系。我软删除ProductGroup。然后我尝试在具有软删除产品组的产品上调用getProductGroup。

问题:而不是预期的空结果我得到了一个"消息:找不到实体。"异常消息。

$productGroupName = $product->getProductGroup() !== null ? $product->getProductGroup()->getName() : '';

1 个答案:

答案 0 :(得分:0)

这是因为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