Auth::user 试图获取非对象的属性
Posted
技术标签:
【中文标题】Auth::user 试图获取非对象的属性【英文标题】:Auth::user Trying to get property of non-object 【发布时间】:2017-05-20 18:11:42 【问题描述】:我正在使用 laravel 5.3 并使用 Multi-Auth Hesto 包。 我使用视图作曲家将我当前的 Auth::user 传递给 Welcome.blade
我已经登录了我的 Customer/Home.blade,但是当我转到 Welcome.blade 并访问当前的 Auth::useran 错误时显示“尝试获取非对象的属性”
这是我的 Viewmcomposers/AuthComposer.php
class AuthComposer
public $currentUser;
public function __construct()
$this->currentUser = Auth::User();
View::share([ 'currentUser' => $this->currentUser ]);
public function compose(View $view)
$view->with('currentUser', Auth::user()->name);
App/Providers/ComposerServiceProvider.php
public function boot()
view()->composer('welcome', function ($view)
$currentUser = Customer::where('name', Auth::user()->name);
$view->with('welcome', $currentUser );
);
配置/App.php
App\Providers\ComposerServiceProvider::class,
我的客户路线
Route::get('/home', function ()
$users[] = Auth::user();
$users[] = Auth::guard()->user();
$users[] = Auth::guard('customer')->user();
return view('customer.home');
)->name('home');
我只是在我的 routes/web.php 中为我的welcome.blade 调用它
Route::get('/', 'WelcomeController@showWelcome');
【问题讨论】:
任何堆栈跟踪 - laravel 出错时显示的那堆函数调用? 我更新了我的问题,我的第 18 行将是这个 $view->with('currentUser', Auth::user()->name);但是当我删除 ->name 时,它什么也没有显示。 Welcome.blade 视我为客人 好吧,尝试将dd(Auth::user())
放在ComposerServiceProvider.php
中的第18 行之前,我想知道用户是否真的从未经过身份验证并且Auth::user()
返回null。
它返回'null'
呃,好吧,你是如何处理用户登录的?
【参考方案1】:
使用身份验证;
在页面顶部它可能会对您有所帮助。
显示完整的错误。
【讨论】:
以上是关于Auth::user 试图获取非对象的属性的主要内容,如果未能解决你的问题,请参考以下文章