Php 使用不同的数据在laravel中预加载视图

Php 使用不同的数据在laravel中预加载视图,php,laravel,laravel-5,sentinel,Php,Laravel,Laravel 5,Sentinel,我正在使用Laravel和sentinel开发一个权限系统,但它的设计目的是让用户可以从复选框表单中选择和取消选择角色拥有的权限。我已经编码了他们可以分配权限的部分,但是我需要在用户请求页面时标记已分配的复选框。你建议如何处理这个问题?我正在使用中间件 <?php namespace App\Http\Middleware; use Closure; use Cartalyst\Sentinel\Laravel\Facades\Sentinel; class PermissionsM

我正在使用Laravel和sentinel开发一个权限系统,但它的设计目的是让用户可以从复选框表单中选择和取消选择角色拥有的权限。我已经编码了他们可以分配权限的部分,但是我需要在用户请求页面时标记已分配的复选框。你建议如何处理这个问题?我正在使用中间件

<?php

namespace App\Http\Middleware;

use Closure;
use Cartalyst\Sentinel\Laravel\Facades\Sentinel;

class PermissionsMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */

    public function handle($request, Closure $next)
    {
        $user = Sentinel::findById(1);
        $permisos = array(array_keys($user['permissions']))

        return $next($request);
    }
}

我认为不建议为此目的使用中间件,但如果您仍然希望这样做,可以尝试使用:

View::share ( 'permisos', $permisos );
与中间件后面的视图共享“permisos”变量

因此,您的代码将如下所示:

<?php

namespace App\Http\Middleware;

use Closure;
use Cartalyst\Sentinel\Laravel\Facades\Sentinel;

class PermissionsMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */

    public function handle($request, Closure $next)
    {
        $user = Sentinel::findById(1);
        $permisos = array(array_keys($user['permissions']))
        View::share ( 'permisos', $permisos );

        return $next($request);
    }
}

它返回App\Http\Middleware\View,但您会使用什么?您是说您使用了什么类?不是,我是说您如何在视图中获取数据?只需使用$permisos即可