当前位置: 首页 > 知识库问答 >
问题:

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

归建安
2023-03-14

前端

<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必须是闭包的实例,给定数组,在C:\xampp\htdocs\ecomerce\vendor\laravel\framework\src\Illumbite\Support\Facades\Facade中调用。php在线221

共有1个答案

齐晟
2023-03-14
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方法仅使用您的Cloure来过滤您的Cart集合,如这里所述,search for filter()方法

 类似资料:
  • 有时对一个类的某些方面进行 参数化(parameterize)是很有用的。例如, 你可能需要管理不同版本的 gem 软件包,既可以为每一种版本创建分离的单独的类, 也可以使用继承和覆盖,为一个类传递一个版本号作为参数。 操作步骤 声明参数作为如下类定义的一部分: class eventmachine( $version ) { package { "eventmachine": pro

  • 实际错误消息是 我在新PC(机器)中设置了我现有的Laravel项目。但是,完成所有过程后,由于上面提到的错误,我无法运行项目。

  • 帮助我理解并解决这些错误。 错误: Symfony\Component\Debug\Exception\FatalThrowableError(E\u RECOVERABLE\u ERROR)类型错误:传递给App\Http\Controllers\Auth\LoginController::authenticated()的参数1必须是App\Http\Controllers\Auth\Reque

  • 问题内容: 我正在使用Go内置的http服务器,并拍拍来响应一些URL: 我需要向该处理函数传递一个额外的参数-一个接口。 如何向处理程序函数发送额外的参数? 问题答案: 通过使用闭包,您应该能够做您想做的事情。 更改为以下内容(未测试): 然后对

  • 我在解一个有很多常数的非线性方程 我创建了一个用于解决以下问题的函数: 然后我想做: 但是正在解包并向函数传递太多参数,因此我得到: TypeError:terminalV()正好接受2个参数(给定6个) 那么,我的问题是,我是否可以通过某种方式将元组传递给调用的函数?

  • 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun(a) print a # [1] 所有的变量都可以理解是内存中一个对象的“引用”,或者,也可以看似c中void*的感觉。 通过id来看引用a的内存地址可以比较理解: a = 1 def fun(a): prin