Php 拉维尔';与';急加载范围
使用此快速加载:Php 拉维尔';与';急加载范围,php,laravel,Php,Laravel,使用此快速加载: $lang = in_array($lang,$languages) ? $lang : 'en'; $requirements = Requirement::with([ 'countryMatch', 'applier' => function ($query) { $query->select('id','passport_type','office_id','citizenship_id')->
$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();
我试图使用在“with语句”开头定义的变量$lang,但我总是得到:
Undefined variable: lang
尝试此操作,使用
use
关键字将变量传递给闭包:
$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();