我将Doctrine与Postgres数据库一起使用,并希望更新整数字段"voteting"。 这是一个百分值,保存为 0 到 100 之间的整数,基于两个整数字段"voteCountPro"和"voteCount"。 我必须将其中一个整数转换为十进制值。(参见:除法(/(在postgresql中没有给出我的答案( 这在 DQL 中不起作用,并且失败并显示以下消息:
[语法错误] 第 0 行,第 363 行:错误:预期原则\ORM\查询\Lexer::T_CLOSE_PARENTHESIS,得到":">
UPDATE statement s
SET s.voting = (s.voteCountPro::decimal / s.voteCount) * 100
WHERE s.id = :id
如何设置值?
安装 https://github.com/oroinc/doctrine-extensions,注册 CAST 函数并写入:
UPDATE statement s
SET s.voting = (CAST(s.voteCountPro as decimal) / s.voteCount) * 100
WHERE s.id = :id