我如何实施 Laravel Eloquent wherehas count 问题?

How can I implement Laravel Eloquent wherehas count question?

我有预订和插件 table。

bookings 有很多插件。

我想通过附加组件类型 Optional Tour 进行预订

我试过了

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

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

这是table信息

预订量

id
name

Booking_add_ons

id
booking_id
add_on_id

add_ons

id
type
add_name

使用whereDoesntHave():

$bookings = Booking::with('add_ons')
    ->whereDoesntHave('add_ons', function($q) {
        $q->where('type', '=', AddOn::T_OPTIONAL_TOUR);
    })->get();