簡體   English   中英

在 Laravel 的 AppServiceProvider 中使用身份驗證

[英]use authentication in a AppServiceProvider in laravel

我正在使用 Laravel,所以每個登錄的用戶都可以有一個購物車,所以我想在我的主刀片中訪問他們的購物車,因為它在標題上並在每個頁面中顯示所有購物車產品

所以我在 AppServiceProvider 中使用它,但我需要檢查登錄的用戶是否會顯示購物車

    public function boot()
    {

        view()->composer('app.shop.2.layouts.master', function($view) {

          $data = \Auth::user()->cart()->get()->first()->products();
          $view->with('data', $data);
        });
    }

所以一切正常,直到用戶登錄,但當用戶未登錄時,它會給我這個錯誤:

調用成員函數cart() on null(視圖:F:\\larav-pay\\payment\\resources\\views\\app\\shop\\2\\index.blade.php)

您可以使用Auth::check()來檢查用戶是否通過身份驗證,如下所示:

public function boot()
{
    view()->composer('app.shop.2.layouts.master', function($view) {
        if (Auth::check()){
            $data = \Auth::user()->cart()->get()->first()->products();
            $view->with('data', $data);
        }
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM