Doctrine Query Builder,如何转义单引号?
Doctrine Query Builder, how to escape single quote?
我正在尝试 运行 替换查询,如下所示:
$qb = $this->createQueryBuilder('q');
$qb->where("REPLACE(q.name,'-','') = :q")->setParameter('q', $q);
return $qb->getQuery()->execute();
这会很好用。
问题是我尝试替换单引号 "REPLACE(q.name,'\'','') = :q"
它会抱怨无法逃脱
同"REPLACE(q.name,'\'','') = :q"
或"REPLACE(q.name,\"'\",'') = :q"
有什么想法吗?
为什么不添加第二个参数?由于默认情况下 REPLACE
在 Doctrine 中不存在,我认为你已经添加了 beberlei/DoctrineExtensions
包。使用此软件包,以下内容将起作用。
$qb->where("REPLACE(q.name,:s,'') = :q")
->setParameter('q', $q)
->setParameter('s', "'");
我正在尝试 运行 替换查询,如下所示:
$qb = $this->createQueryBuilder('q');
$qb->where("REPLACE(q.name,'-','') = :q")->setParameter('q', $q);
return $qb->getQuery()->execute();
这会很好用。
问题是我尝试替换单引号 "REPLACE(q.name,'\'','') = :q"
它会抱怨无法逃脱
同"REPLACE(q.name,'\'','') = :q"
或"REPLACE(q.name,\"'\",'') = :q"
有什么想法吗?
为什么不添加第二个参数?由于默认情况下 REPLACE
在 Doctrine 中不存在,我认为你已经添加了 beberlei/DoctrineExtensions
包。使用此软件包,以下内容将起作用。
$qb->where("REPLACE(q.name,:s,'') = :q")
->setParameter('q', $q)
->setParameter('s', "'");