在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;

Reference Link

以上是关于在Doctrine2上找不到实体的主要内容,如果未能解决你的问题,请参考以下文章

在插入,更新或删除操作期间,在实体上找不到属性?

Doctrine 2 找不到实体类

在 Doctrine 2 / CodeIgniter 2 中找不到实体模型

如何在Doctrine2中为单个实体使用多个存储库?

Doctrine 2 中的代理是啥?

Doctrine2 ManyToMany 自引用