SQL между оператором в Laravel - PullRequest
0 голосов
/ 07 мая 2018
SELECT * FROM mytable WHERE created_date 
    BETWEEN CURDATE() - INTERVAL 90 DAY AND CURDATE();

Как мне написать этот запрос в Laravel?

Ответы [ 3 ]

0 голосов
/ 07 мая 2018

Я думаю, что это решит вашу проблему:

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();
0 голосов
/ 07 мая 2018

У Laravel есть хорошее решение для этого, и whereBetween см. Здесь https://laravel.com/docs/5.6/queries

0 голосов
/ 07 мая 2018

Следующий запрос дает вам записи с датой между сегодняшним днем ​​и датой 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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...