[英]How to call parent function value in child function in Laravel
在下面的代码中,我想在whereRaw
查询中使用$id
,但是我得到一个错误,比如“未定义的变量”。
public function getPendingArtistLink($id ,Request $request)
{
if (!Auth::guard('admin')->user()->hasPermissionTo('appointment-master')) {
return response()->json(['message' => 'you have no permission to acces this']);
return "you have no permission to acces this";
}
$objSalon = Artist::whereNotExists(function($query) {
$query->select(DB::raw('*'))
->from('artist_services')
->whereRaw('(artists.id = artist_services.artist_id))')
->whereRaw('(artists.branch_id = '.$id.' AND artists.status != "Deleted"');
})
->toSql();
//->get();
dd($objSalon);
return view('Backend.branch.missing_artist_salon', compact('objSalon'));
}
如何在我尝试的地方访问我的$id
参数?
$objSalon = Artist::whereNotExists(function($query) use ($id) { ... })
但正如@Skrrp 所提到的,最好不要使用这种方式。
或者您可以使用这样的内联函数:
$objSalon = Artist::whereNotExists(fn($query) =>
$query->select(DB::raw('*'))
->from('artist_services')
->whereRaw('(artists.id = artist_services.artist_id))')
->whereRaw('(artists.branch_id = '.$id.' AND artists.status !="Deleted"')
)->toSql();
内联函数可以访问在上层 scope 中定义的变量
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.