php doctrine createQueryBuilder特殊字符

时间:2018-02-20 08:38:28

标签: doctrine-orm

数据库存储值“& You”,但下面的查询不返回结果

$buildQuery = $this->createQueryBuilder('r')
        ->where('r.TitreSearch LIKE :term')       
        ->setParameter('term', "%&You%")            
    ;

另一方面,如果我搜索“你”我有一个结果

为什么学说不理解字符“&” ?

1 个答案:

答案 0 :(得分:0)

问题不是&符号,而是查询本身。

如果您希望LIKE匹配列值中的模式,则必须用百分号(即%term%)括住搜索词。如果没有百分号,LIKE的行为与=运算符相同;它寻找完全匹配。

尝试以下方法:

$term = "&You";
$buildQuery = $this->createQueryBuilder('r')
        ->where('r.TitreSearch LIKE :term')
        ->setParameter('term', "%$term%");