调用未定义的方法 App\User::id() (视图:
Call to undefined method App\User::id() (View:
我已经为常用函数创建了自定义助手文件 App/Helpers/Helper.php,我正在尝试从助手中获取数据 class 我在 Helper.php 创建的。当我在 blade 文件中调用它时一切正常,它显示错误 "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)
我已经为常用函数创建了自定义助手文件 App/Helpers/Helper.php,我正在尝试从助手中获取数据 class 我在 Helper.php 创建的。当我在 blade 文件中调用它时一切正常,它显示错误 "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)