我使用Symfony2和Doctrine,我在我的存储库中有这个代码。
$cb = $this->getEntityManager()
->createQueryBuilder("p")
->select($arrayColumns) //This array contains the fields
->from('MainBundle\Entity\Pedido', 'p')
->innerJoin('p.sucursal', 's');
$ arrayColumns包含:['p.fecha','s.descripcion','p.descripcion','p.id']。 执行此查询时,结果包含:['p.fecha','p.descripcion','p.id']。它省略了'sucursal'字段。 Sucursal和Pedido之间的关系是OneToMany。
答案 0 :(得分:1)
也许您应该在纯SQL中构建查询并使用RSM来映射实体。
答案 1 :(得分:0)
您可能需要使用:
$arrayColumns[] = "IDENTITY(p.sucursal)";
查询前的
如此处所述:https://github.com/doctrine/doctrine2/issues/1955和此处:http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html