我在 Symfony2 中使用 Sonata Admin Bundle 并有一个自定义过滤器。在数据库中,列是浮动的(无法更改)。如果输入 1333.33 将不会有结果。
一种解决方案是使用 CAST:
CAST( o.price AS DECIMAL) = CAST( 399.99 AS DECIMAL)
查询在 SQL 中工作得很好,但 Doctrine 会抛出错误。所以我的问题是如何在 Doctrine 或其他可靠的解决方案中使用 CAST?
教义没有提供CAST
在其 DQL 中构造(参见这个清单 https://www.doctrine-project.org/projects/doctrine-orm/en/2.8/reference/dql-doctrine-query-language.html#functions-operators-aggregates).
但对于您的特殊情况,比较值乘以 100 就足够了:
o.price * 100 = 399.99 * 100
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)