2
$qb = $this->createQueryBuilder('u')
->select('u.id, u.name, c.category')
->innerJoin('u.categories', 'c')
->where('u.id = (:user)')
->setParameter('user', $user)
->getQuery()
->execute();
で結果を参加して、私はいつもこのような結果を得る:マージは、1列
Array[0] = 'id' -> 1, 'name' -> john, 'category' -> A
Array[1] = 'id' -> 1, 'name' -> john, 'category' -> B
Array[2] = 'id' -> 1, 'name' -> john, 'category' -> C
そして、私はこれを取得したい:
Array[0] = 'id' -> 1, 'name' -> john, 'category' -> [A,B,C]
私はu.idすることにより、グループを使用している場合、私はonleを最初のカテゴリで最初のArray [0]を取得し、私は他の2つのカテゴリを失った。
このクエリを実行するにはどうすればよいですか?
ありがとうございます!
おかげで、これは罰金:) もう一つ、私は 'カテゴリ' を得るに動作します - > [猫A、猫のB ...]のようなものを取得することが可能であろう: 'カテゴリ' を - > [配列(catA、catB)]こうして私はこれらのカテゴリを別々に得ることができたからです。 – user3396420
@ user3396420これは可能ですが、doctrineではできません。結果をループし、カテゴリの区切り文字 '、'で関数explodeを使用して配列を作成し、その出力をどこかに保存する必要があります。 –