0

这篇文章中,DRapp提供了一个 SQL 查询来解决阿里提出的问题。在实践中,Ali 询问如何编写一个查询,该查询能够返回与Post表中的行相关的表Category中的所有行,以便我们可以在所有基于目录的网站(eBay、Amazon 等)中看到.)。

这就是说, DRapp 的解决方案中提出的 SQL 查询如何用 Doctrine2 编写

避免使用QueryBuilder

PS:我使用MySQL。

4

1 回答 1

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
于 2013-01-20T10:24:20.007 回答