在Doctrine2上找不到实体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Doctrine2上找不到实体相关的知识,希望对你有一定的参考价值。
场景:我有两个实体。产品和产品组。产品与ProductGroup有多对一的关系。我软删除ProductGroup。然后我尝试在具有软删除的产品组的产品上调用getProductGroup。
问题:我得到一条“消息:未找到实体”,而不是预期的空结果。异常消息。
$productGroupName = $product->getProductGroup() !== null ? $product->getProductGroup()->getName() : '';
答案
这是因为Doctrine2正在生成代理,而不是soft-deletable
的情况,尽管我正在使用它。但是在没有实施这个soft-deleteable
的实体中,我遇到了同样的问题。所以固定的是在实体注释中添加fetch="EAGER"
,其中定义了关系。喜欢
/**
* @var ReisesparerAPIsEntityVouchers
*
* @ORMOneToOne(targetEntity="ReisesparerAPIsEntityVouchers", inversedBy="couponOrder", fetch="EAGER")
* @ORMJoinColumns({
* @ORMJoinColumn(name="voucher_id", referencedColumnName="id")
* })
*/
private $voucher;
以上是关于在Doctrine2上找不到实体的主要内容,如果未能解决你的问题,请参考以下文章