问题描述
我为常用函数创建了自定义帮助程序文件 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)