2017-07-04 5 views
0

diesen eifrig Laden mit:Laravel 'mit' eager loading Umfang

$lang = in_array($lang,$languages) ? $lang : 'en'; 

    $requirements = Requirement::with([ 
      'countryMatch', 
      'applier' => function ($query) { $query->select('id','passport_type','office_id','citizenship_id')->groupBy('citizenship_id');}, 
      'doc.translation' => function ($query) { $query->where('language',$lang);}])->get(); 

Ich versuche, die Variable $ lang am Anfang in dem 'mit Angabe' definiert zu verwenden, aber ich habe immer bekommen:

Undefined variable: lang 

Antwort

1

Versuchen Sie dieses, geben Ihre Variable unter Verwendung des use Schlüsselwort zur Schließung:

$requirements = Requirement::with([ 
    'countryMatch', 
    'applier' => function ($query) { 
     $query->select('id','passport_type','office_id','citizenship_id')->groupBy('citizenship_id'); 
    }, 
    'doc.translation' => function ($query) use ($lang) { 
     $query->where('language',$lang); 
    } 
])->get(); 
Verwandte Themen