【问题标题】:how just fetch 2 entity that related by some other entity to each other in Doctrine2如何在 Doctrine2 中获取由其他实体相互关联的 2 个实体
【发布时间】:2014-09-01 07:40:16
【问题描述】:

我认为我的问题标题不够清楚,所以我举一个例子(symfony2 & Doctrine2):

$query = $this->_em->createQuery(
            'SELECT j, jp, po, p from MjJobBundle:Job j'
            . ' LEFT JOIN j.jobPackage jp'
            . ' JOIN jp.packageOrder po'
            . ' JOIN po.package p');

如果我只想要 Job 和 Package 实体,我必须检索所有四个实体,有什么简单的解决方案吗?

【问题讨论】:

    标签: mysql symfony orm doctrine-orm doctrine


    【解决方案1】:

    Do JOINS 是解决方案。如果您只需要 Job 和 Package 实体,请不要选择其他实体:

    $query = $this->_em->createQuery(
            'SELECT j, p from MjJobBundle:Job j'
            . ' LEFT JOIN j.jobPackage jp'
            . ' JOIN jp.packageOrder po'
            . ' JOIN po.package p');
    

    【讨论】:

    • 感谢您的回答。这就是问题所在,如果我不选择其他实体,我将无法直接访问包。我可以像这样在树枝中访问包名称 attr:job.jobPackage.packageOrder.package.name
    猜你喜欢
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多