SELECT * FROM mytable WHERE created_date BETWEEN CURDATE() - INTERVAL 90 DAY AND CURDATE();
Как мне написать этот запрос в Laravel?
Я думаю, что это решит вашу проблему:
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();
У Laravel есть хорошее решение для этого, и whereBetween см. Здесь https://laravel.com/docs/5.6/queries
whereBetween
Следующий запрос дает вам записи с датой между сегодняшним днем и датой 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
Надеюсь, это поможет.