Mysql 具有多个参数值的查询生成器

Mysql querybuilder with multiple parameters values

我尝试从 setParameters 获取多个值,但使用相同的 'key',就像这样:

->where('d.type = :type')->setParameters(array('type'=> 7, 'type => '8'))

但我只有“8”的结果,而不是 7 + 8。

按如下方式更改您的 where 条件

->where('d.type IN (:types)')
->setParameter('types', array(7, 8))

$qb = $this->createQueryBuilder('d');

// other parts of your query using $qb variable

->where($qb->expr()->in('d.type', array(7, 8));

对于第一个示例,如果 array(7, 8) 是一个参数变量(传递给函数)并且它为空,则不会引发错误。

其次,如果array(7, 8)是一个参数变量(传递给函数)并且它是空的,就会报错(所以你在运行查询之前应该仔细检查。