在这篇文章中,DRapp提供了一个 SQL 查询来解决阿里提出的问题。在实践中,Ali 询问如何编写一个查询,该查询能够返回与Post表中的行相关的表Category中的所有行,以便我们可以在所有基于目录的网站(eBay、Amazon 等)中看到.)。
这就是说, DRapp 的解决方案中提出的 SQL 查询如何用 Doctrine2 编写?
请避免使用QueryBuilder。
PS:我使用MySQL。
在这篇文章中,DRapp提供了一个 SQL 查询来解决阿里提出的问题。在实践中,Ali 询问如何编写一个查询,该查询能够返回与Post表中的行相关的表Category中的所有行,以便我们可以在所有基于目录的网站(eBay、Amazon 等)中看到.)。
这就是说, DRapp 的解决方案中提出的 SQL 查询如何用 Doctrine2 编写?
请避免使用QueryBuilder。
PS:我使用MySQL。
我相信通过直接使用 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