首页 > 解决方案 > 如何在 laravel 的所有页面中使用相同的变量或查询结果

问题描述

我正在使用 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在所有页面中使用它。

标签: laravel-5

解决方案


您可以使用以下方式与所有视图共享数据

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

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

将此添加到您的AppServiceProvider.


推荐阅读