我有两个实体(ProductX和ProductY(,从Product继承(继承类型:JOINED,带鉴别器(。我需要在ProductX或productY字段上添加一个条件。但是查询生成器没有显示这些实体。
我尝试:$queryBuilder->leftJoin('AppEntityProductX', 'productX', 'WITH', 'o.id = productX.id');
但在这种情况下,生成的DQL是:
LEFT JOIN (
product_x p8_
INNER JOIN product p9_ ON p8_.id = p9_.id
) ON (p0_.id = p9_.id)
而不是:
LEFT JOIN product_x p8_ ON p0_.id = p8_.id
有什么想法吗?
我认为你可以这样做:
$queryBuilder->leftJoin('AppEntityProductX', 'productX');
这将返回您想要的东西,它通常用于自定义关系的其他参数
此处提供更多详细信息:https://www.doctrine-project.org/projects/doctrine-orm/en/2.7/reference/query-builder.html
我希望这能帮助你