我无法从控制器静态调用Laravel Cart方法

Ale*_*.B. 0 cart laravel

我正在尝试在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);
}
Run Code Online (Sandbox Code Playgroud)

我的困惑是这个库的文档说你应该静态调用这些方法.我也尝试使用依赖性弹出方法,并抛出了不同的错误.任何有关这方面的帮助将不胜感激.

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

我也完成了设置这个库的所有步骤,包括将它添加到App.php提供程序数组和别名数组中.

luk*_*ter 5

Darryldecode\Cart\Cart您应该在包的外观上执行此操作,而不是在类上调用静态方法.在您的情况下,这可能仅仅意味着删除use Darryldecode\Cart\Cart;控制器中的语句.

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

查看文档以了解有关Laravel Facades及其工作原理的更多信息