私はsymfony 2を初めて使用し、PUGXMultiUserBundleとともにFOSUserBundleを使用しています.ROLE_ADMINISTRATEURなどの特定の役割を持つユーザーのリストを取得して何かについて通知するのに問題があります. とにかく、これに触発されて、これは私の UserRepository クラスです:
<?php
namespace OC\UserBundle\Entity;
use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository
{
public function findByRoles($role)
{
$qb = $this->_em->createQueryBuilder();
$qb->select('u')
->from('OCUserBundle:User', 'u')
->where('u.roles LIKE :roles')
->setParameter('roles', '%"'.$role.'"%');
return $qb->getQuery()->getResult();
}
}
これは、コントローラーのアクション内のコードです。
$em=$this->getDoctrine()->getManager();
$repository2=$em->getRepository('OCUserBundle:User');
$roles='ROLE_ADMINISTRATEUR';
$users=$repository2->findByRoles(array('roles'=>$roles));
Return $this->render('OCUserBundle:Default:test.html.twig',array(
'users'=>$users));
そして私のtest.html.twigページ:
{% for a in users %}
{{a.username}}
{% endfor %}
私が得るのはすべて空のページです。どんな助けでもいただければ幸いです