Laravel查询出了什么问题,它的结果比原始结果少一个。
Test::where('has_ftd', 1)
->where('ftd_date', '>=', '2018-10-17')
->where('ftd_date', '<=', '2018-10-17')
->paginate(10);
更新:我刚刚注意到小于等于'<='的结果小于'<'
答案 0 :(得分:3)
查询datetime
或timestamp
值时,通常重要的是包括“时间”部分,以确保您查询的是正确的值:
Test::where('has_ftd', 1)
->where('ftd_date', '>=', '2018-10-17 00:00:00')
->where('ftd_date', '<=', '2018-10-17 23:59:59')
->paginate(10);
提供值2018-10-17 00:00:00
和2018-10-17 23:59:59
将确保查询处理一个完整的含日期的值。
答案 1 :(得分:0)
对于范围,可以使用Laravel whereBetween()
方法。您可以尝试以下方法:-
Test::where('has_ftd', 1)
->whereBetween('ftd_date', [$date_from, $date_to])
->paginate(10);
我认为这会起作用。