SELECT * FROM mytable WHERE created_date
BETWEEN CURDATE() - INTERVAL 90 DAY AND CURDATE();
如何在Laravel中编写此查询?
答案 0 :(得分:1)
我认为这可以解决您的问题:
use Carbon\Carbon;
$now = Carbon::now();
$prev = Carbon::now()->subDays(90);
DB::table('mytable')->where(function ($query) use ($now,$prev) {
$query->whereBetween('created_date', [$prev, $now]);
})->get();
答案 1 :(得分:1)
Laravel有一个很好的解决方案,whereBetween
在https://laravel.com/docs/5.6/queries
答案 2 :(得分:0)
以下查询为您提供了从现在到90天前的日期之间的日期记录:
$now = date('Y-m-d'); // now
$old = date('Y-m-d', strtotime('-90 days')); // 90 days back
$records = DB::table('mytable')->where('created_date', '>=', $old)
->where('created_date', '<=', $now)
->get();
您应阅读Laravel文档:https://laravel.com/docs/5.1/queries#where-clauses
希望它有所帮助。