首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel |检索具有关系且不包含特定Ids的集合

Laravel |检索具有关系且不包含特定Ids的集合
EN

Stack Overflow用户
提问于 2019-01-24 05:23:08
回答 1查看 104关注 0票数 2

我在一家汽车租赁系统工作,所以我的计划是,当客户搜索所选车型中是否有可用的汽车时,首先:获取客户选择的日期的汽车id;其次:获取除不可用汽车之外的所有汽车。

代码语言:javascript
复制
$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);才能获得除不可用汽车之外的所有具有关系的汽车

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-24 05:32:48

如果您的关系设置正确,则可以使用whereDoesntHave方法,如下所示:

代码语言:javascript
复制
$cars = Car::with('marque.images')->whereDoesntHave('bookings', function ($query) use ($date1, $date2) {
    $query->whereDate('dropoffday', '>' ,$date1)
        ->whereDate('pickupday' ,'<', $date2);
})->get();
return Response::json($cars);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54335857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档