【问题标题】:doctrine: setting association with id instead of object instance教义:设置与 id 而不是对象实例的关联
【发布时间】:2012-03-07 16:30:55
【问题描述】:

是否可以在两个对象之间设置关联,例如 articlecomment 像这样:

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

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

从性能的角度来看,这对我来说非常重要——我想避免在我想设置关联时总是进行 SQL 调用。就我而言,会有很多这样不必要的查询。

【问题讨论】:

    标签: doctrine-orm


    【解决方案1】:

    你可以使用:

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

    【讨论】:

    • 在“类似问题”中没有看到它——抱歉!谢谢你的回答!将尽快接受
    • 这个问题是当我没有实体管理器的实例时(例如在实体内部)。那么就需要一个更复杂的解决方案。
    • @Czechnology 这取决于您想对另一个实体做什么。但我认为这并不复杂。
    • @Czechnology 由于单一职责原则,您应该避免在实体中使用实体管理器。
    • 注意你可能需要做 BundleName:Article
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多