![](/img/trans.png)
[英]How to update cart in one function using Gloudemans\Shoppingcart in 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.