繁体   English   中英

参数1传递给Gloudemans \\ Shoppingcart \\ Cart :: search()laravel

[英]Argument 1 passed to Gloudemans\Shoppingcart\Cart::search() laravel

前端:

<form action="update_cart/{{$value->id}}/update" method="post">
    <input type="hidden" name="_token" value="{{ csrf_token() }}" /> 
    <input type="number" name="update_qty" value="{{$value->qty}}"/>        
<input type="submit" name="submit" value="Update"/>
</form>

控制器:

public function update_cart( $id,$method ){
   if ($method=='update') {
        $rowId = Cart::search(array('id' => $id));

       $item = Cart::get($rowId[0]);
         $update_qty = Requests::input('update_qty');


        Cart::update($rowId[0], $update_qty);
        return back();
   }

}

类型错误:传递给Gloudemans \\ Shoppingcart \\ Cart :: search()的参数1必须是Closure的实例,给定数组,在C:\\ xampp \\ htdocs \\ ecomerce \\ vendor \\ laravel \\ framework \\ src \\ Illuminate \\ Support \\ 221行上的Facades \\ Facade.php

Argument passed to ..::search() must be an instance of Closure, array given

如错误消息所述,您不应将数组发送给search方法,而应将其发送给闭包:

$item = Cart::search(function ($cart, $key) use($id) {
   return $cart->id == $id;
})->first();

它应该直接返回项目,而不仅仅是ID。 如果需要参考, search方法仅使用Closure来过滤购物车的集合,如此处所述,搜索filter()方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM