2016-11-01 7 views
2

Laravelとsentinelを使用してパーミッションシステムを開発していますが、チェックボックスのフォームからどのパーミッションを選択するか選択を解除できるように設計されています。すでにパーミッションを割り当てることができる部分をコーディングしましたが、ユーザがページをリクエストすると、既に割り当てられているチェックボックスがマークされている必要があります。これに近づくことをどうお勧めしますか?私はミドルウェアを使用していますlaravelのビューを別のデータで事前ロード

<?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); 
    } 
} 

しかし、ミドルウェアからビューにデータを渡す方法はわかりません。

答えて

0

私はそれは、この目的のためのミドルウェアを使用してお勧めしますとは思わないが、あなたはまだそれを使用して試すことができ、そのように行いたい場合:

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); 
    } 
} 
+0

それは、App \のHttp \ミドルウェア\ビューを返しますが、あなたは何を使うのでしょうか? – Mntfr

+0

あなたはどのクラスを使っているのですか? –

+0

いいえ、私はどのようにビュー自体のデータを取得するのですか? – Mntfr

関連する問題