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();

この方法で欲しいものは手に入るのですが、アイテムが注文されていません。行のコメントを外す->orderBy('c.sortOrder', 'asc')と、空の結果セットが得られます。PHPMyAdmin で実行可能なクエリを実行しようとしましたが、両方のクエリ (順序付けありとなし) は同じ結果を返しますが、一方は正しい順序で並べられています。

リレーションを順序付ける方法はありますか?

4

0 に答える 0