首页 > 解决方案 > 如何在 Laravel 的子函数中调用父函数值

问题描述

在下面的代码中,我想$idwhereRaw查询中使用,但出现“未定义变量”之类的错误。

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在我尝试的地方访问我的论点?

标签: phplaravel

解决方案


$objSalon = Artist::whereNotExists(function($query) use ($id) { ... })

但正如@Skrrp 所提到的,最好不要使用这种方式。


推荐阅读