我正在使用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();
这样我得到了我想要的东西,但物品没有订购。如果我取消注释行->orderBy('c.sortOrder', 'asc')
,我会得到空的结果集。试图在PHPMyAdmin中执行runnable查询,并且两者(带有排序和没有)查询返回相同的结果,但是一个按照它应该的顺序排序。
有没有办法让关系订购?