在this post中, DRapp 提供了一个SQL查询,用于解决 Ali 提出的问题。在实践中,Ali询问如何编写一个能够返回 Post 表中与行相关的表 Category 中的所有行的查询,以便尽我们所能。在所有基于目录的网站(eBay,亚马逊等)中查看。
这说明 DRapp解决方案 中提出的SQL查询如何用Doctrine2 编写?
请使用 QueryBuilder 。
PS:我使用MySQL。
答案 0 :(得分:0)
我认为通过直接使用DQL或QueryBuilder来编写像问题中提到的查询这样的查询是不可能的。但是,一种可能性是使用Doctrine2 Native Query,它可以用来执行原始SQL。
为了完整起见,此处遵循DRapp的查询。
select
P.ID,
P.Post_Title,
P.Category_ID,
C.Category_Name as FirstCat,
C.Parent,
COALESCE( C2.Category_Name, ' ' ) as ParentCategory
from
Posts P
JOIN Categories C
on P.Category_ID = C.Category_ID
LEFT JOIN Categories C2
on C.Parent = C2.Category_ID
where
AnyFiltering