#laravel
#laravel
Вопрос:
Я немного новичок, поэтому знаю только основы. У меня есть таблица курсов, в которой есть start_date курса (отметка времени), и я хотел бы показать курсы, которые начинаются с текущей даты, но не курсы, которые прошли (например, вчерашние курсы).
Мне также нужно не делать этого с областью видимости.
Моя модель — приложение Курс. Мой текущий код
$course = Course::latest()->take(6)->get());
Кто-нибудь может помочь? Спасибо!
Комментарии:
1. Есть ли вообще
latest
функция в построителе запросов? Я бы подумал, что вам придется использовать->orderBy('start_date', 'desc')
, если вы хотите, чтобы они были отсортированы. Кроме того, изучите использование->whereDate()
, чтобы ограничить результаты любой датой после сегодняшнего дня.2. Спасибо, Тим, я посмотрю на это. Но да, latest() выполняет created_at, desc!
Ответ №1:
Попробуйте это:
$course = Course::where('start_date', '>', Carbon::now())->orderBy('start_date', 'desc')->take(6)->get());
Это сработает, если вы добавите start_date
в $dates
переменную.
Комментарии:
1. Я бы пошел с
'>='
или вы не увидите курсы сегодняшнего дня