首页 > 解决方案 > 调用未定义的方法 App\User::id() (查看:

问题描述

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

助手.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>

如何解决?

标签: phplaravellaravel-blade

解决方案


你应该使用:

Auth::user()->id

或者

Auth::id()

反而。


推荐阅读