多対多の関係を持つユーザーとグループの 2 つのモデルがあります。したがって、グループ化されていないすべてのユーザーを選択する必要があります。DQLで実現する必要があります。
わかりました、もう少し情報があります。私はsymfony 2でsonata admin bundleを使用しています。私のリスト ビューでは、グループと関係のないユーザーを表示したいと考えています。例: 管理パネルで管理者がユーザーを作成するとき、彼はこのユーザーのグループを選択します。ただし、フロントエンドからユーザー登録すると、このユーザーにはグループがありません。だから、私はグループなしでこのすべてのユーザーを見たいと思っています。管理クラスのソナタ管理バンドルでは、独自の DQL クエリを記述できる createQuery メソッドを継承できます。例として:
public function createQuery($context = 'list')
{
$query = parent::createQuery($context);
$query->andWhere('o.admin = TRUE');
$query->orderBy('o.loginDate', 'DESC');
return $query;
}
したがって、私の場合、グループのないユーザーを次のように選択します。
public function createQuery($context = 'list')
{
$query = parent::createQuery($context);
$query->addSelect('g');
$query->leftJoin('o.groupList', 'g');
// here I need some DQL which chose users without groups
return $query;
}
それで、今、誰かが助けることができますか?