在 Doctrine2 上找不到实体异常
Posted
技术标签:
【中文标题】在 Doctrine2 上找不到实体异常【英文标题】:Entity not Found Exception on Doctrine2 【发布时间】:2018-01-16 07:49:25 【问题描述】:场景:我有两个实体。产品和产品组。 Product 与 ProductGroup 具有多对一的关系。我软删除 ProductGroup。然后我尝试在一个产品上调用 getProductGroup,该产品的产品组被软删除。
问题: 我得到的是“消息:找不到实体”,而不是预期的 null 结果。异常消息。
$productGroupName = $product->getProductGroup() !== null ? $product->getProductGroup()->getName() : '';
【问题讨论】:
【参考方案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
【讨论】:
以上是关于在 Doctrine2 上找不到实体异常的主要内容,如果未能解决你的问题,请参考以下文章