我有一个资源控制器。路线就是这样 -
Route::resource('branches/{branch_id}/employees', 'EmployeeController');
问题在于我需要将分支变量传递给视图的每个方法。
public function index($branch_id){
$branch = Branch::find($branch_id);
$employees = Employee::orderBy('created_at', 'desc')->get();
return view('employees.index', compact('branch', 'employees'));
}
有没有办法可以将分支变量传递给通过此控制器返回的每个视图?
@Sapnesh Naik它不重复,因为我需要操作每个函数中的分支。
答案 0 :(得分:1)
将此添加到控制器构造函数:
public function __construct()
{
view()->share('branch', Route::current()->getParameter('brach_id'););
}
答案 1 :(得分:1)
在这种情况下,您可以尝试这样做:
public function __construct(Request $request)
{
view()->share(
'branch', Branch::find($request->route('branch_id'))
);
}
如果您没有在request()->route('branch_id')
方法中提示Request $request
类型的方式使用方法注入,也可以使用__construct
。