フォーム内でクエリを実行しています。
アイデアは次のとおりです。これで、すべてのユーザーのドロップダウンが表示されます。
私はこのようなクエリを持っています:
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')->orderBy('u.lastName', 'ASC');
}
これは完璧に機能します!
すべてのユーザーを表示する代わりに、カテゴリに関連付けられているユーザーのみが必要です。この定義は「user_data」テーブル(user_id + category_id)にあります。
だから、私は次のようなことをする必要があります:
SELECT * FROM users
WHERE user_id IN (SELECT user_id FROM user_data WHERE category_id='2')
UserDataのようなエンティティはなく、User.phpしかありませんが、このファイル内で次のことがわかりました。
/**
*@ORM\ManyToMany(targetEntity="My\Bundle\Entity\Data", inversedBy="users")
*@ORM\joinTable(name="user_data")
*/
protected $datas;
[...]
したがって、関係が構築されていることがわかりますが、2つのテーブルに基づいてクエリを構築するためにそれを使用する方法がわかりません...
誰かがこの問題で私を助けることができますか?:)
ありがとう!