laravel:如何显示可用时隙列表

7vhp5slm  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(330)

制作一个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种产品。每个人都可以在同一时间段进行预订。所以我加了where语句。
这可能是一个简单的解决方案,但似乎无法在laravel文档中找到一个明确的解决方案。
提前谢谢。

zc0qhyus

zc0qhyus1#

要查找剩余的插槽,请使用尚未填充插槽的左连接:

$timeslotsRemaining = DB::table('timeslots')
    ->leftJoin('reservations', 'timeslots.id', '=', 'reservations.timeslot_id')
    ->whereNull('reservations.timeslot_id')
    ->get();

相关问题