我无法从控制器静态调用 Laravel 购物车方法

I'm unable to call Laravel Cart methods statically from controller

我正在尝试在 Laravel 中设置此购物车库,但我一直收到 Non-static method Darryldecode\Cart\Cart::add() should not be called statically, assuming $this from incompatible context https://github.com/darryldecode/laravelshoppingcart

这是我的控制器代码:

public function getCart(){
    $cartCollection = Cart::getContent(); 
    return response()->json($cartCollection->toArray());
}


public function updateCart( Request $request, $id ){
    $input = $request->all(); 
    Cart::update($id, array_except($input, array('_token')));
}   

public function addToCart( Request $request ){
    $input= $request->all(); 
    Cart::add(array_except($input, array('_token')));
}

public function removeFromCart( $id ){
    Cart::remove($id);
}

我的困惑是这个库的文档说你应该静态调用这些方法。我还尝试使用依赖项弹出方法,但引发了不同的错误。对此的任何帮助将不胜感激。

我是 Laravel 的新手,如果这是一个愚蠢的疏忽,请原谅我。

此外,我还完成了设置此库的所有步骤,包括将其添加到 App.php 提供程序数组和别名数组。

与其调用 Darryldecode\Cart\Cart class 上的静态方法,不如在包的外观上调用。在您的情况下,这可能只是意味着在您的控制器中删除 use Darryldecode\Cart\Cart; 语句。

因为控制器可能位于它自己的命名空间内,您现在必须通过 \Cart 引用它或添加 use Cart 以确保别名用于调用。

查看 documentation 以了解有关 Laravel Facade 及其工作原理的更多信息