doctrine DQL查询错误:应为字符串结尾,got'*';
我有一个引发此异常的DQL查询:doctrine DQL查询错误:应为字符串结尾,got'*';,doctrine,dql,Doctrine,Dql,我有一个引发此异常的DQL查询: [Doctrine\ORM\Query\QueryException] Error: Expected end of string, got '*' 以下是查询: UPDATE Bundle:Table t SET t.column = :variable * 100 我不理解这个查询的问题,这两个问题正在解决: UPDATE Bundle:Table t SET t.column = 100 * :variable UPDATE Bundle:Table
[Doctrine\ORM\Query\QueryException] Error: Expected end of string, got '*'
以下是查询:
UPDATE Bundle:Table t SET t.column = :variable * 100
我不理解这个查询的问题,这两个问题正在解决:
UPDATE Bundle:Table t SET t.column = 100 * :variable
UPDATE Bundle:Table t SET t.column = 1 * :variable * 100
有什么想法吗?是:变量肯定是一个数字(int/float)?如果是字符串,则可能无法生成语法正确的查询: 更新一些表t集合t.column='1'*100 然而,可能先有数字“100*:variable”和“1*:variable*100”的版本可以正确地强制转换它,因为首先有一个整数 也许您可以发布setParameter()并检查是否可以调用getSQL()以查看构造的SQL查询的外观。该问题与此相关,直到今天才得到解决 很可能
UPDATE Bundle:Table t SET t.column = ((:variable * 100))
将执行此操作,并让解析器正确处理表达式。这已在中描述。哇,我不记得当时我在做什么了!不过,我还是很想知道:)