2015-04-01 84 views
2

我有这段代码,想分享所有项目的视图,我该怎么办?Laravel 5共享包含所有视图的数据

 $id_user = Auth::user()->id; 

     $data['modulos'] = Permissaousuario::Modulo($id_user); 

     $id_modulo = DB::table('modulos') 
     ->where('rota','like','%ensaio%') 
     ->pluck('id'); 

     $data['areas'] = Permissaousuario::Area($id_user,$id_modulo); 
     $data['permissoes'] = Permissaousuario::Permissao($id_user,$id_modulo); 
     $data['usuario'] = Auth::user(); 

     return view('ensaio.home')->with($data); 

在此先感谢!

回答

3

分享它与您的AppServiceProviderview()->share()boot方法:

public function boot() 
{ 
    $id = Auth::id(); 

    $modulos = DB::table('modulos')->where('rota', 'like', '%ensaio%')->pluck('id'); 

    view()->share([ 
     'usuario' => Auth::user(), 
     'modulos' => Permissaousuario::Modulo($id), 
     'areas'  => Permissaousuario::Area($id, $modulos), 
     'permissoes' => Permissaousuario::Permissao($id, $modulos), 
    ]); 
} 

该文件位于:app/Providers/AppServiceProvider.php

+1

doenst工作,看起来像引导方法没有得到来自会话的用户,如果我dd(Auth :: user());在视图中我可以看到我的会话,但使用例行工作的启动方法。 – 2015-04-02 11:49:31