Почему запрос даты дает неправильный вывод / результат в laravel - PullRequest
0 голосов
/ 05 марта 2020

У меня есть столбец uploaded_at в базе данных, имеющий тип отметки времени.

$from = date("d-m-Y", strtotime("-2 months"));
$data = Post::where('uploaded_at' , '>' , $from)->paginate(20);

Этот фрагмент кода предоставляет все данные из таблицы сообщений, где мне потребовалось только сообщение за последние 2 месяца.

Ответы [ 3 ]

2 голосов
/ 05 марта 2020

Laravel имеет пакет по умолчанию, названный Carbon, который может легко это сделать, например:

$date = Carbon::now();
$previous = $date->subMonths(2);
$data =Post::whereBetween('uploaded_at', [$previous, $date])->paginate(20);

Не забудьте use Carbon\Carbon; сверху.

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

1 голос
/ 05 марта 2020

Попробуйте этот код

$from = date("Y-m-d", strtotime("-2 months"));
$data = Post::whereDate('uploaded_at' , '>=' , $from)->paginate(20);
0 голосов
/ 05 марта 2020

Используйте функцию whereDate() для сравнения даты:

$data = Post::whereDate('uploaded_at' , '>' , $from)->paginate(20);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...