Doctrine:使用ID而不是对象实例设置关联

73

是否可以设置两个对象之间的关联,比如文章评论,像这样:

comment.setArticle(10) // 10 is the id of article

自动生成的setArticle方法以Course对象作为参数,但可能有一些技巧可以实现这一点吗?

从性能角度来看,这对我非常重要——我希望在设置关联时避免总是进行SQL查询。在我的情况下,将会有大量这样的不必要的查询。

1个回答

169
你可以使用:

你可以使用:

$comment->setArticle($em->getReference('Article', 10));

没有在“类似问题”中看到它 - 抱歉!不过还是谢谢你的答案!将尽快接受。 - mkk
11
问题在于当我没有实体管理器的实例时(例如在实体内部),就需要一个更复杂的解决方案。 - Czechnology
@Czechnology 这取决于你想要用另一个实体做什么。但我认为这并不复杂。 - meze
3
@Czechnology,根据单一职责原则,您应该避免在实体中使用实体管理器。 - Daniel
注意,您可能需要执行BundleName:Article。 - Eric

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接