Laravel: как показать список доступных временных интервалов - PullRequest
0 голосов
/ 15 октября 2018

Создание проекта Laravel, где люди могут зарезервировать некоторые продукты на 1,5 часа .

В моем контроллере я запрашиваю переменную временных интервалов, которые уже были зарезервированы.

Далее я хочу вывести эти временные интервалы из доступных временных интервалов.

$filteredTimeSlots = DB::table('timeslots')
        ->join('reservations', 'timeslots.id', '=', 'reservations.timeslot_id')
        ->where('product_id', $product->id)
        ->get();

    $timeslots = Timeslot::all();

Прямо сейчас $timeslots содержит все временные интервалы.Но здесь есть и те слоты, которые были указаны в $filteredTimeSlots.

В общей сложности у меня есть 6 продуктов .Каждый может иметь резервирование в одно и то же время.Вот почему я добавил утверждение «где».

Вероятно, это простое исправление, но, похоже, не удалось найти четкого решения в документации Laravel.

Заранее спасибо.

1 Ответ

0 голосов
/ 15 октября 2018

Чтобы найти оставшиеся слоты, которые вы хотите использовать в левом соединении, где слот еще не заполнен:

$timeslotsRemaining = DB::table('timeslots')
    ->leftJoin('reservations', 'timeslots.id', '=', 'reservations.timeslot_id')
    ->whereNull('reservations.timeslot_id')
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...