调用未定义的方法 App\User::id()查看:

问题描述

我为常用函数创建了自定义帮助程序文件 App/Helpers/Helper.PHP,并且我正在尝试从我在 Helper.PHP 中创建的 Helper 类获取数据。当我在刀片文件调用它时一切正常,它显示错误 “BadMethodCallException Call to undefined method App\User::id()”

Helper.PHP

<?PHP

use App\Cart;
use Illuminate\Support\Facades\Auth;

function totalCartItems()
{
    if (Auth::check()) {
        $user_id = Auth::user()->id();
        $totalCartItems = Cart::where('user_id',$user_id)->sum('quantity');
    } else {
        $session_id = Session::get('session_id');
        $totalCartItems = Cart::where('session_id',$session_id)->sum('quantity');
    }
    return $totalCartItems;
}

cart.blade

获得价值
<div class="breadcrumbs">
  <ol class="breadcrumb">
        <li><a href="#">Home</a></li>
        <li class="active">Shopping Cart ({{ totalCartItems() }} item)</li>
  </ol>
</div>

如何解决

解决方法

你应该使用:

Auth::user()->id

Auth::id()

相反。

,

而不是这样做

Auth::check()

使用这个

if(Auth::user() !== null)