加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Doctrine DQL参数号无效:绑定变量数与令牌数不匹配

发布时间:2020-12-13 16:51:23 所属栏目:PHP教程 来源:网络整理
导读:我收到错误无效参数号:绑定变量数与此查询中的标记数不匹配. 我真的没有看到问题,有什么想法吗? public function getByPartial($q,Company $company){ $query = $this-createQueryBuilder('u') -join('u.company',':company') -where('u.firstName LIKE :q
我收到错误无效参数号:绑定变量数与此查询中的标记数不匹配.

我真的没有看到问题,有什么想法吗?

public function getByPartial($q,Company $company)
{

    $query = $this->createQueryBuilder('u')
        ->join('u.company',':company')
        ->where('u.firstName LIKE :q')
        ->orWhere('u.lastName LIKE :q')
        ->setParameters(array('company' => $company,'q' => '%'.$q.'%'))
        ->getQuery();
    return $query->getResult();

}

解决方法

公司不能成为参数,你只需要指定一个别名,例如:

public function getByPartial($q,Company $company)
{
    $query = $this->createQueryBuilder('u')
        ->addSelect('c')
        ->join('u.company','c')
        ->where('u.firstName LIKE :q OR u.lastName LIKE :q')
        ->andWhere('c.id = :companyId')
        ->setParameters(array('companyId' => $company->getId(),'q' => '%'.$q.'%'))
        ->getQuery();
    return $query->getResult();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读