createQueryBuilder и setParameters () для одного параметра несколько значений - PullRequest
0 голосов
/ 28 сентября 2018

Когда я запускаю этот код, результатом является только второе значение для того же параметра.Но мне нужны оба значения роли - value1 и value2.Мой код выглядит так:

$builder
->add('name', EntityType::class, array(
'class' => 'App:Class',
'query_builder' => function (EntityRepository $u) {
              return $u->createQueryBuilder('z')
              ->andWhere('z.roles =:role')
              ->setParameters(array('role' => 'value1', 'role' => 'value2'));

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Также вы можете использовать что-то вроде этого:

$rolesArray = array('role' => 'value1', 'role' => 'value2');
$queryBuilder = $u->createQueryBuilder('z')
                  ->andWhere($queryBuilder->expr()->in('z.roles', $roles));

return $queryBuilder;
0 голосов
/ 28 сентября 2018

Попробуйте с:

 $u->createQueryBuilder('z')
   ->andWhere('z.roles IN (:roles)');
   ->setParameter('roles', array('value1','value2'), \Doctrine\DBAL\Connection::PARAM_STR_ARRAY);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...