在 DQL 中将整数强制转换为十进制



我将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

相关内容

  • 没有找到相关文章

最新更新