我在Symfony2中使用Sonata Admin Bundle并拥有自定义过滤器。在数据库中,列是float(不能更改它)。如果输入1333.33则没有结果。
一种解决方案是使用CAST:
CAST( o.price AS DECIMAL) = CAST( 399.99 AS DECIMAL)
查询在SQL中工作得很好,但是Doctrine会抛出错误。所以我的问题是如何在Doctrine或其他可靠的解决方案中使用CAST?
答案 0 :(得分:0)
Doctrine 在其 DQL 中没有提供 CAST
结构(参见 this list)。
但是对于您的特殊情况,比较乘以 100 的值应该就足够了:
o.price * 100 = 399.99 * 100