【发布时间】:2019-04-19 12:42:07
【问题描述】:
我有一个登录表单。我希望当用户登录成功时,我的控制器将选择该用户的数据并共享给所有视图。
我阅读了 laravel 文档。 [This][1] 建议我使用 "View::share('key', 'value');" 在 AppServiceProvider 的启动方法中,但我不知道如何在我的控制器中调用它
我的控制器:
if( Auth::attempt(['mssv' => $username,'password' =>$password])) {
$user=SinhVien::where('mssv',$username)->first();
//i want to share $user to all view in here
$success = new MessageBag(['successlogin' => 'Login Success]);
return redirect()->back()->withErrors($success);
}
else {
$errors = new MessageBag(['errorlogin' => 'Login Fail']);
return redirect()->back()->withErrors($errors);
}
在所有视图刀片中,我使用:
{{$user->name}}
请帮忙! [1]:https://laravel.com/docs/5.7/views#sharing-data-with-all-views
【问题讨论】:
-
只需在您的父布局或标题中使用它。 laravel.com/docs/5.7/blade#template-inheritance
-
作为
@if(auth()->user) {{ auth()->user->name }} @else <button>login</button> @endif使用 -
我读了@OmarAbdullah,就像我在问题中提到的那样。但我不知道如何在我的控制器中调用它
-
先回答这个问题。为什么需要将其分享给所有视图?所以我们在同一个页面上
-
因为我想在所有视图中显示它。我共享数据时如何使用它,这不是身份验证
标签: laravel laravel-5 laravel-blade laravel-5.7