Activerecord 的Find方法参数绑定问题

今天遇到一个非常奇怪的问题。




$sql = "v_id=:v_id and balance=:b";

$params = array(":v_id"=>16,':b'=>0.01);

$gci = SomeModel::model()->find($sql,$params);



始终查询不到数据。数据库中确实有符合条件的数据。但是如果写成:




$sql = "v_id=:v_id and balance=0.01";

$params = array(":v_id"=>16);

$gci = SomeModel::model()->find($sql,$params);



或者




$sql = "v_id=:v_id and balance=:b";

$params = array(":v_id"=>16,':b'=>25.00);

$gci = SomeModel::model()->find($sql,$params);



都是可以查到数据的。

不知道是什么原因。

数据库定义balance=>float(10,2)

Model的rules定义:array(‘balance’, ‘numerical’),