2016-11-06 3 views
1

ich undefined variable $jenis_mobil genau auf $q->where('name', $jenis_mobil->name)Laravel 5.2: undefinierte Variable in WhereHas

$jenis_mobil = Car_class::find($request->jenis_mobil); 
    $dari_kota = City::find($request->dari_kota);  

    $vehicles = Vehicle::whereHas('car', function($q){ 
     $q->whereHas('car_class', function($q){ 
      $q->where('name', $jenis_mobil->name); 
     }); 
    }) 
    ->whereHas('partner', function($q) { 
     $q->whereHas('kota_pool', function($q){ 
      $q->where('name', $dari_kota->name); 
     }); 
    }) 
    ->where('year', $request->tahun_mobil) 
    ->get(); 

Ist etwas falsch mit meinem Code? Ich denke, weil $jenis_mobil nicht zu whereHas bestanden

Antwort

4

Sie use() verwenden sollten Variablen in die Verschlüsse weitergeben müssen:

$vehicles = Vehicle::whereHas('car', function($q) use($jenis_mobil) { 
    $q->whereHas('car_class', function($q) use($jenis_mobil) { 
     $q->where('name', $jenis_mobil->name); 
    }); 
}) 
->whereHas('partner', function($q) use ($dari_kota) { 
    $q->whereHas('kota_pool', function($q) use ($dari_kota) { 
     $q->where('name', $dari_kota->name); 
    }); 
}) 
->where('year', $request->tahun_mobil) 
->get(); 
Verwandte Themen