【问题标题】:Auth::user Trying to get property of non-objectAuth::user 试图获取非对象的属性
【发布时间】: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'
  • 呃,好吧,你是如何处理用户登录的?

标签: laravel laravel-5.3


【解决方案1】:

使用身份验证;

在页面顶部它可能会对您有所帮助。

显示完整的错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 2013-07-24
    • 1970-01-01
    • 2019-06-30
    • 2018-03-07
    • 1970-01-01
    • 2018-03-09
    相关资源
    最近更新 更多