doctrine:设置与id的关联而不是对象实例

mkk*_*mkk 61 doctrine-orm

是否可以设置两个对象之间的关联,例如article,comment如下所示:

comment.setArticle(10) // 10 is the id of article
Run Code Online (Sandbox Code Playgroud)

自动生成的setArtcicle方法当作参数对象文章,但也许​​有一些技巧可以做到这一点?

从性能的角度来看,这对我来说非常重要 - 我希望在我想设置关联时总是避免进行SQL调用.在我的情况下会有很多这样的不必要的查询.

mez*_*eze 134

您可以使用:

$comment->setArticle($em->getReference('Article', 10));
Run Code Online (Sandbox Code Playgroud)

  • 这个问题是当我没有实体管理器的实例时(例如在实体内部).然后需要更复杂的解决方案. (10认同)
  • @Czechnology由于单一责任原则,您应该避免实体中的使用实体管理器. (2认同)