私は 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 で実行可能なクエリを実行しようとしましたが、両方のクエリ (順序付けありとなし) は同じ結果を返しますが、一方は正しい順序で並べられています。
リレーションを順序付ける方法はありますか?