如何在laravel中的所有页面中使用相同的变量或查询结果

时间:2018-04-27 21:03:51

标签: laravel-5

我正在使用laravel 5.4,我想对所有页面使用一些查询。 就像我有一个表来为用户设置权限。如果用户有权限,那么他们将能够获得一些额外的菜单。我创建了一个新页面' _menu.blade.php'。此页面包含在所有页面中。那么,现在发生了什么,我必须检查所有页面控制器的用户权限表并发送这些数据。 假设我有home.blade.php。在这里,我添加了menu.blade.php,然后home.blade.php的控制器是

public function index(){
 $Permission  = Permission::where('edit',$currentUserId)->first();
return view('home')->withPermission($Permission);
}

我也有read.blade.php。我还添加了menu.blade.php,然后read.blade.php的控制器

public function index(){
 $Permission  = Permission::where('edit',$currentUserId)->first();
return view('read')->withPermission($Permission);
}

在这里,我必须获取所有页面的用户权限。现在我想要的是,只需立即获取用户permission并在所有页面中使用此permission

1 个答案:

答案 0 :(得分:1)

您可以share data with all views使用:

public function boot()
{
    $Permission = Permission::where('edit',$currentUserId)->first();

    View::share('Permission', $Permission);
}

将此添加到您的AppServiceProvider