Laravel:如果存在Session变量,如何将模型传递给每个视图?

时间:2015-12-28 14:04:56

标签: laravel

在laravel中,我的会话中有一个user_id。我想从用户的表中获取具有该ID的行,并将其作为变量传递给每个视图。

我尝试创建服务提供程序,但会话为空(我将其作为最后一项服务)。

任何提示赞赏。

我没有使用内置的Auth模块

2 个答案:

答案 0 :(得分:2)

如果您愿意,可以创建一个可以为您执行此操作的辅助函数

在你的作曲家json文件

"autoload-dev" : {
    "files" : [
         'path/to/helper.php'
     ]
}

然后在你的helper.php上

function getActiveUser() {
   return App\User::find(session('userId'));
}

有很多方法可以做到这一点。这是其中之一。 。但我更喜欢使用内置的auth模块来处理它

答案 1 :(得分:0)

对于此视图,可以使用作曲家。因此,在全局服务提供商中,您需要添加它。

view()->share('currentUser', User); 

用户是经过身份验证的用户。

  

为此,可以找到有关视图作曲家的文档here