1

我正在使用 Symfony2,并且对通过与 QueryBuilder 连接的关系来排序结果感到头疼。我想按 ID 选择一个包含已订购相关项目的组。这是代码:

$rs = $this
    ->createQueryBuilder('a')
    ->select('a', 'c', 'm')
    ->leftJoin('a.item', 'c', Expr\Join::WITH, 'c.active = 1')
    ->leftJoin('c.media', 'm')
    ->where('a.id = :group_id')
//  ->orderBy('c.sortOrder', 'asc')
    ->setParameter('group_id', $group_id)
    ->getQuery()
    ->getOneOrNullResult();

这样我就得到了我想要的东西,但是没有订购物品。如果我取消注释 line ->orderBy('c.sortOrder', 'asc'),我会得到空的结果集。试图在 PHPMyAdmin 中执行可运行的查询,并且两个(有排序和没有排序)查询都返回相同的结果,但一个是按应有的顺序排序的。

有没有办法让关系有序?

4

0 回答 0