5.0.0 - 严重 - 已关闭
ThinkPHP 5.1版本以下代码存在诡异问题:
$orderlist = Orderhistory::where('uid|instead_uid',$uid)->where('realprice',($realprice*100))->where('istype',$istype)->where('isstatus',0)->where('create_time','>',(time()-600))->select();
echo Orderhistory::getLastSql();
var_dump($orderlist);输出:SELECT * FROM `pa_orderhistory` WHERE ( `uid` = '256077ef6e06e72024daed57' OR `instead_uid` = '256077ef6e06e72024daed57' ) AND `realprice` = 56 AND `istype` = 1 AND `isstatus` = 0 AND `create_time` > 1508896254
array(0) {
}用这个SQL语句,通过MYSQL-Front 在数据库里能查到数据fb623230f608ccf3b9773255 256077ef6e06e72024daed57 1508896838 1508896838 57 56 1 http://test.xxxx.com/?orderid=0de216d42bb80f559adfa42e http://test.xxxx.com/paynotify 0de216d42bb80f559adfa42e 64745d4a2512c41d30b9b65d 127.0.0.1 1508897198 0 77fe48d35ec1a5f75faeede4 0 自动匹配价格的商品 诡异的地方是:
如果把realprice 条件换成 0.27,0.12,或者0.88等,都可以返回正确数据,唯独:0.57,0.56 这几个数值,SQL可以查到数据,但是Model::where()这样的返回对象,返回的是array(0){}
