Как я могу реализовать Laravel Eloquent, где есть вопрос? - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть заказы и таблица аддонов.

заказы имеют много аддонов.

Я хочу получать заказы с аддоном типа Optional Tour

Я пробовал это

 $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

1 Ответ

0 голосов
/ 14 февраля 2019

Использование whereDoesntHave():

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