如代码所示,如果只是没有pay_time的话,数据正常取出,但是加了pay_time大于的判断就没有数据了,肯定是写法不对,请问这种情况下,要怎么写?
$where['pay_time'] = array('gt',"2017-11-03");
$where['shop_id'] = $shop_id;
$where['pay_status'] = 1;
$orders = order::where($where)->orderBy('order_id', 'desc')->orderBy('pay_time', 'desc')->paginate(50);
你使用 PHPStorm IDE 追踪 where() 方法的源码实现,会发现在 Laravel 内部
Query\Builder.php
比较条件是通过=
>
<
等符号来做条件判断的,而不是像 TP 一样有lt
gt
的用法。把你的gt
换为>
,语句这样写: