如何在 null 上修复对成员函数 isAdmin() 的调用

How to fix Call to a member function isAdmin() on null

我有一条路线: Route::get('/TransactionHistory','QuoteController@transactionHistory');

在 Controller QuoteController 中,我有一个函数:

public function transactionHistory(){
         if(Auth::user()->isAdmin())
        {
               $res= DB::table('products_products')
->select('users_users.display_name','products_products.name','products_products.id','products_products.user_id','products_products.quantity_type','buy_product.price','buy_product.rating','buy_product.mileage_name','buy_product.id as buy_id')
->join('buy_product','products_products.id','=','buy_product.product_id')
->join('users_users','buy_product.user_id','=','users_users.id')
->get();
        }
        else{
       $u_id=auth()->user()->id;
      $res= DB::table('products_products')
->select('products_products.name','products_products.id','products_products.user_id','products_products.quantity_type','buy_product.price','buy_product.rating','buy_product.mileage_name','buy_product.id as buy_id')
->join('buy_product','products_products.id','=','buy_product.product_id')

->where('buy_product.user_id','=',$u_id)
->get();}
        
    return view('templates::pagetwigs/transaction-history')->with('details',$res);
    } 

在路由路径时出现错误:在 null

上调用成员函数 isAdmin()

如何解决这个问题。

在路由中或者controller的构造函数中添加中间件如图:

public function __construct()
{
      $this->middleware('auth');
    
}

这将不允许您访问该页面,除非您已登录。这将始终检查 Auth::user() 是否为 null