我在Symfony2中使用Sonata Admin Bundle并具有自定义过滤器。在数据库中,列为float(无法更改)。如果您键入1333.33将没有结果。
一种解决方案是使用铸件:
CAST( o.price AS DECIMAL) = CAST( 399.99 AS DECIMAL)
查询在SQL中工作正常,但是学说会引发错误。所以我的问题是如何在学说或其他可靠的解决方案中使用演员?
学说在其dql中不提供 CAST
构造(请参阅此列表)。
但对于您的特殊情况,应该将乘以100的值进行比较:
o.price * 100 = 399.99 * 100