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)
是一个参数变量(传递给函数)并且它是空的,就会报错(所以你在运行查询之前应该仔细检查。
我尝试从 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)
是一个参数变量(传递给函数)并且它是空的,就会报错(所以你在运行查询之前应该仔细检查。