【发布时间】:2019-06-17 13:14:39
【问题描述】:
我正在为汽车租赁预订系统工作 所以我的计划是当客户搜索所选车型中是否有可用汽车时, 首先:获取客户选择的日期的汽车ID 第二:得到所有的汽车,除了不可用的汽车,
$collection = Booking::whereDate('dropoffday', '>' ,$date1)
->whereDate('pickupday' ,'<', $date2)
->get(['car_id'])
;
if ($collection->isEmpty()) {
$cars = Car::with('marques.images')->get();
return Response::json($cars);
}
$taken = [];
foreach ($collection as $car) {
$id = $car->car_id;
array_push($taken,$id);
}
$cars = Car::with('marque.images')->except($taken);
return Response::json($cars);
}
我该如何重写这一行 $cars = Car::with('marque.images')->except($available); 获取所有有关系的汽车,除了不可用的汽车
【问题讨论】:
-
也许
doesntHave方法可以帮助你laravel.com/docs/5.7/… -
Booking和Car是什么关系? -
BookingbelongToCarandCarBelongsToManyBooking -
我把它当作汽车的功能 -> 预订关系称为
bookings?我用这个信息更新我的答案 -
是的叫做预订,我应该使用
BelongsToMany而不是hasMany吗?