1
我需要構建一個查詢,返回所有獲得'ROLE_ADMIN'作爲角色的用戶(我使用FOSUserBundle)。使用對象方法的Doctrine querybuilder
我已經試過這個,但它不起作用,它拋出我「警告:get_class()期望參數1是對象,布爾給定」。
public function getAdminQueryBuilder() {
return $this->createQueryBuilder('u')
->where('u.hasRole(:role)', true)
->setParameter('role', 'ROLE_ADMIN')
;
}
請注意,沒有where條件,它的工作原理,我得到所有用戶在dabatase返回。
感謝您的回答,但它會拋出「[語義錯誤]第0行,第54列靠近'hasRole =:r':錯誤:類AppBundle \ UserBundle \ Entity \ User沒有字段或名爲hasRole的關聯」。看起來它不認爲hasRole是一個函數? – Mit
您是否已經考慮過'@Security(「has_role('ROLE_ADMIN')」)'路由註釋[如此處所述](https://symfony.com/doc/current/security.html#securing-controllers-and-other -碼)? –
是的,該消息意味着在用戶實體中沒有'hasRole'字段。 –