php – Doctrine2:任意连接和单表继承

前端之家收集整理的这篇文章主要介绍了php – Doctrine2:任意连接和单表继承前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
注意:这是一个ORM限制 reported on the project’s issue tracker

我正在使用在作为层次结构的根的实体类上的Doctrine 2.3中引入的任意连接语法来构建DQL查询的问题.

给出这些类:

A – no inheritance

B1 – abstract,root of a hierarchy,discriminator column is named ‘type’

我设置了一个这样的查询生成器:

$qb->select('a.id AS idA,b.id AS idB')
    ->from('\Entity\A','a')
    ->leftJoin('\Entity\B1','b',\Doctrine\ORM\Query\Expr\Join::WITH,'a.something=b.something');

sql Doctrine生成的就是这样的:

SELECT a.id,b.id FROM a LEFT JOIN b ON (a.something=b.something) WHERE b.type IN ('1','2','3')

问题在于左边的连接无用.

有没有办法强制将鉴别器列上的条件放在连接中?至少会使它…

我应该填写错误报告吗?

这个错误在Doctrine 2.4中得到修复

https://github.com/doctrine/doctrine2/issues/2934

猜你在找的PHP相关文章