4
に参加する2エンティティ:DQLの参加テーブルとクエリと2は、私が持っている
:私はこのようなSQLを結果DQLクエリを作成する方法を見つけるカント/**
* @ORM\Entity(repositoryClass="Myapp\UserBundle\Repository\GroupRepository")
* @ORM\Table(name="groups")
*/
class Group
...
/**
* @ORM\Entity
* @ORM\Table(name="users")
*/
class User
{
/**
* @ORM\ManyToMany(targetEntity="Myapp\UserBundle\Entity\Group")
* @ORM\JoinTable(name="user_groups",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")}
*)
*/
protected $groups;
...
}
と
SELECT g.name, g.id, count(u.id)
FROM users u
LEFT JOIN user_groups ug ON u.id = ug.user_id
RIGHT JOIN groups g ON g.id = ug.group_id
GROUP BY g.id
私は試して失敗したwhith:
結果がユーザを持たないグループを含まないため、が含まれています。
これは、ユーザーがいるそのグループのみを返します。しかし、私は空のグループも必要です。カウント0 – user1063963
Humm ... FROMとJOINテーブルを反転して更新しました。 – AlterPHP