Laravel中的SQL BETWEEN运算符

时间:2018-05-07 12:58:05

标签: laravel laravel-5.4

SELECT * FROM mytable WHERE created_date 
    BETWEEN CURDATE() - INTERVAL 90 DAY AND CURDATE();

如何在Laravel中编写此查询?

3 个答案:

答案 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有一个很好的解决方案,whereBetweenhttps://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

希望它有所帮助。