如何执行选择数组列中的位置 - Symfony3 + Doctrine



我用Symfony3创建了一个实体,我将数据库中的字段列设置为Array。

Symfony保存到数据库寄存器,如:

id | name    | roles
01 | Raphael | ["ROLE_ADMIN", "ROLE_SUPER_ADMIN"] 
02 | Jose A. | ["ROLE_ADMIN"] 
03 | Marcos  | ["ROLE_USER"] 

我怎样才能只为ROLE_ADMIN或只是ROLE_USER而使用教义进行选择?

我需要为许多其他情况创建搜索...但这个是最容易解释的...

希望你理解我的情况...谢谢!

我使用以下语法解决了我的问题:

$formData = $form->getData();
$em = $this->getDoctrine()->getManager();
$usersRepository = $em->getRepository('AppBundle:Usuario');
$qb = $usersRepository->createQueryBuilder('r');
$qb->select('a')
    ->from('AppBundle:Usuario', 'a');
foreach($formData as $key => $value) {
     foreach($value as $k => $item){
         $qb->andWhere("a.$key LIKE :it_$k")
             ->setParameter("it_$k", '%'.$item.'%');
     }
}
$result = $qb->getQuery()->execute();

相关内容

  • 没有找到相关文章