【问题标题】:Pass Session Data From Controller to View in Laravel 6将会话数据从控制器传递到 Laravel 6 中的视图
【发布时间】:2020-04-25 15:20:51
【问题描述】:

我想在我的 Laravel 项目中创建编辑用户帐户功能,所以我想将当前会话数据从控制器传递到视图,但我收到错误 尝试获取非对象的属性“名称”。在传递数据之前,我创建了登录功能来获取会话,这是我的 LoginController 来获取会话:

public function loginprocess(Request $request)
    {
        $this->validate($request, [
            'email'   => 'required|email',
            'password' => 'required|min:6'
        ]);

        if (Auth::guard('user')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
            return redirect()->route('index.user');
        }
        return back()->withInput($request->only('email', 'remember'));
    }

然后在另一个控制器中创建这个函数:

public function account()
    {
        $data=[
            'account' => Session::get('user'),
            'titleweddinc' => "Account - User Dashboard"
        ];
        return view('user.account',$data);
    }

在视图中我使用了这个代码:

{{ $account->name }}

在数据库用户中,我确定我确保在用户表中有一个 name 字段。我尝试获得 {{ $titleweddinc }} 并且它可以上诉。有谁知道我的错误是什么?

【问题讨论】:

  • 既然你是 laravel 的新手,我问为什么不直接在刀片中获取用户名而不必处理会话?像 {{ Auth::user()->name }} 这样的东西就在刀片文件中

标签: laravel session controller


【解决方案1】:

这样使用

    public function account()
        {
            $data=[
                'account' => Session::get('user'),
                'titleweddinc' => "Account - User Dashboard"
            ];
            return view('user.account',compact('data'));
        }

If Object then print like

{{ $data->account->name}}

检查 Array 是否像这样打印

{{ $data['account']['name']}}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-29
    • 2015-07-25
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    相关资源
    最近更新 更多