Symfony 4 OneToOne关系未从数据库中提取



这个问题太奇怪了!

相互关联的实体结构示例:

财产->销售说明(一对一(->接受报价(一对一(

如果我做了这样的事情:

$property = $repo->findOneBy([‘id’=> 1]);

它起作用了,所有的关系都恢复得很好。

但现在,如果我在属性回购中创建一个自定义方法,用LIKE查询搜索邮政编码,那么acceptedOffer关系为空

我很困惑为什么会发生这种事?它是相同的实体,相同的关系,我只是通过点赞加载它,而不是直接通过Id加载。

即使我使用fetchAll,它也能正常工作。

我希望我解释得足够好——很难解释我所看到的。

似乎"懒惰加载"在这里起作用。

您是否在自定义查询中明确地编写了联接查询?(因为也许你应该(

这是因为您可能已经创建了自定义查询,在创建它们时,您需要定义连接并选择它们。

例如;


$queryBuilder
->addSelect('p', 'i', 'o')
->join('p.instructionToSell', 'i')
->join('i.acceptedOffer', 'o')
->setParameter('name', $name)
->andWhere(
$queryBuilder->expr()->eq('p.name', ':name')
);

相关内容

  • 没有找到相关文章

最新更新