我怎样才能实现Laravel Eloquent哪里有问题?

问题描述 投票:0回答:1

我有预订和插件表。

预订有很多插件。

我希望通过插件类型可选游览获得预订

我试过这个

 $bookings = Booking::with([
        "add_ons",  
         ])
        ->whereHas("add_ons",function($q){
            $q->where("type","<>" ,AddOn::T_OPTIONAL_TOUR);
        })

这显然不起作用。我怎样才能获得没有可选旅游插件的预订?

这是表信息

预订

id
name

Booking_add_ons

id
booking_id
add_on_id

add_ons

id
type
add_name
laravel eloquent wherehas
1个回答
1
投票

使用whereDoesntHave()

$bookings = Booking::with('add_ons')
    ->whereDoesntHave('add_ons', function($q) {
        $q->where('type', '=', AddOn::T_OPTIONAL_TOUR);
    })->get();
© www.soinside.com 2019 - 2024. All rights reserved.