1
 public function search($params)
    {
        $qb = $this->createQueryBuilder('auto');
        if (isset($params['manufacturer'])) {
            $qb->join('auto.manufacturer', 'man')
            ->where('man.manufacturer = :manufacturer')
            ->setParameter('manufacturer', $params['manufacturer']);
        }
        if (isset($params['model'])) {
            $qb->join('auto.model', 'mod')
                ->where('mod.model = :model')
                ->setParameter('model', $params['model']);
        }

        return $qb->getQuery()->getResult();
    }

查询返回错误:

无效的参数号:绑定变量的数量与标记的数量不匹配

4

1 回答 1

6

whereandWhere函数代替。因为当你有 2 个参数时,你将第一个 where 条件替换为第二个 where 条件,结果你有 2 个绑定参数,只有一个标记。

于 2013-08-20T08:04:18.810 回答