我有3個實體的Symfony:查詢生成器先進的加入
[User] ---OneToMany---> [UserRole] ---ManyToOne---> [Role]
因此存在一個連接表user_role
。
我想創建一個QueryBuilder
,返回:
所有用戶,有特定的作用(通過任何屬性標識的作用)。
我對此感到困惑,因爲我必須處理與many-to-many
關係的連接。在純SQL中很容易,但是我無法爲此爲QueryBuilder提供便利。
加入User
和Role
實體直接失敗,我不得不找到一種方法來包含鏈接表user_role
。
有人可以提示我來管理這個嗎?
更新
這是從我現在有一個摘錄:
->add('adm', 'entity', array(
'class' => 'ZanderUserBundle:User',
'query_builder' => function(EntityRepository $r) {
$qb = $r->createQueryBuilder('u');
$qb->join('ZanderUserBundle:Role', 'r')->where("r.role = 'ROLE_MANAGER'");
return $qb;
},
'label' => 'Manager',
'attr' => array(
'class' => 'inputElement'
)))
結果是,將返回所有用戶。
更新你的問題,添加你到目前爲止嘗試過的。 –
學說可以加入many2many關係,請顯示您嘗試過的錯誤 – Rawburner