Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
doctrine DQL查询错误:应为字符串结尾,got'*';_Doctrine_Dql - Fatal编程技术网

doctrine DQL查询错误:应为字符串结尾,got'*';

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

我有一个引发此异常的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 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))

将执行此操作,并让解析器正确处理表达式。这已在中描述。

哇,我不记得当时我在做什么了!不过,我还是很想知道:)