Сравнение фильтра даты и времени не работает в Laravel - PullRequest
0 голосов
/ 26 октября 2019

Я хочу создать таблицу в представлении Laravel, отображающую все собрания, которые не завершены. Но, к сожалению, в моей таблице "встречи" (MySQL) есть один столбец для даты (с именем "date" ... тип "date") и другой столбец для времени (с именем "end_hour" ... type "time").

К сожалению, я не могу найти способ сделать правильный запрос (у меня проблемы с «тайм-сайтом»). Я пробовал много раз, но вижу только встречу с датой> = сегодня. Кажется, что часы работают неправильно.

public function index()
{
    $meetings = Meeting::all()
        ->where('is_active', '1')
        ->sortBy('start_hour')
        ->sortBy('date');

    // Here's the problem.
    $meetings = $meetings->filter(function ($meeting) {
        return $meeting->date > date('Y-m-d') || ($meeting->date === date('Y-m-d') && time() > strtotime($meeting->end_hour));
    });

    $this->getUsersTable($meetings);
    $this->getRoomsTable($meetings);

    return view('nextMeetings', compact('meetings'));
}

Как я могу представить на столе только встречи, которые еще не завершились?

...