Laravel视图没有获取会话数据

时间:2015-01-09 02:25:35

标签: php session laravel laravel-4 laravel-routing

我试图将一些数据传递给视图,看起来好像视图没有得到它。这是我的控制器中的getProfile路由:

public function getProfile($username)
{
    if(User::userExists($username))
    {
        if($username == Auth::user()->username)
            return View::make('user.profile');
        else
            return View::make('user.profile')->with('user-requested', $username);

}

视图应该根据参数$ username是否是用户登录而更改,其中它将显示更多信息并允许编辑,如果不是,则将显示有限的信息。我正在查看用户请求的会话'我认为如下:

Username: {{ Session::get('user-requested'); }}

并且还喜欢以下内容:

@if(!Session::has('user-requested'))
//display full profile info
@else
//display limited profile info

目前,无论是否输入不是当前登录用户的用户名参数,视图都会显示完整的个人资料信息块。会话变量'用户请求的'似乎是空的,但我不确定为什么,这有什么理由吗?

1 个答案:

答案 0 :(得分:2)

您不需要使用Session来获取用户请求的变量,只需使用它就像这样简单。

@if(isset($user-requested))

@else

@endif

要将数据放入会话中,您必须使用Session::put('key','value')。使用with()在会话中设置变量的唯一方法是将它们与重定向一起使用。