【问题标题】:I'm unable to call Laravel Cart methods statically from controller我无法从控制器静态调用 Laravel Cart 方法
【发布时间】:2015-02-28 21:15:24
【问题描述】:

我正在尝试在 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 提供程序数组和别名数组。

【问题讨论】:

    标签: laravel cart


    【解决方案1】:

    而不是调用Darryldecode\Cart\Cart 类的静态方法,你应该在包的外观上这样做。在您的情况下,这可能只是意味着删除控制器中的 use Darryldecode\Cart\Cart; 语句。

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

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

    【讨论】:

    • 我明白了...我将其更改为使用购物车;太感谢了!!!!这就像一个魅力。
    猜你喜欢
    • 2015-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 2019-03-09
    • 1970-01-01
    相关资源
    最近更新 更多