我用Symfony3创建了一个实体,我在数据库中将字段列设置为Array。
Symfony保存到DB寄存器,如:
id | name | roles
01 | Raphael | ["ROLE_ADMIN", "ROLE_SUPER_ADMIN"]
02 | Jose A. | ["ROLE_ADMIN"]
03 | Marcos | ["ROLE_USER"]
如何仅针对ROLE_ADMIN
或ROLE_USER
执行带有学说的选择?
我需要为许多其他情况创建搜索...但这个是最容易解释的......
希望你了解我的情况......谢谢!
答案 0 :(得分:0)
我使用这种语法解决了我的问题:
$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();