Laravel 5:所有控制器方法共享的PHP变量

时间:2018-02-12 15:46:12

标签: php laravel

我有一个资源控制器。路线就是这样 -

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它不重复,因为我需要操作每个函数中的分支。

2 个答案:

答案 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