php laravel上的更新查询不工作,fetchAll()

php laravel上的更新查询不工作,fetchAll(),php,mysql,laravel,sql-update,Php,Mysql,Laravel,Sql Update,我正在为服务器编写代码,其中一个必须执行的功能是使用特定Id更新用户表(通常为)的所有字段。删除和选择功能工作得很好,但这个功能似乎根本不起作用。该错误是致命错误:对布尔值中的成员函数fetchAll()调用 我试着做一个更新的小函数,我想它失败的原因可能是因为我给了它多少参数。但是,结果没有变化 function update($request, $response, $args){ $db = $this->db; $query = "UPDATE usuario se

我正在为服务器编写代码,其中一个必须执行的功能是使用特定Id更新用户表(通常为)的所有字段。删除和选择功能工作得很好,但这个功能似乎根本不起作用。该错误是致命错误:对布尔值中的成员函数fetchAll()调用

我试着做一个更新的小函数,我想它失败的原因可能是因为我给了它多少参数。但是,结果没有变化

function update($request, $response, $args){
    $db = $this->db;
    $query = "UPDATE usuario set IdRh = ". $args['idRh'].", IdEps =".$args ['IdEps'].", IdTipoDeDocumento =".$args['IdTipoDeDocumento'].", NroDeDocumento=".$args['NroDeDocumento'].", Nombre=".$args['Nombre'].", Apellido=".$args['Apellido'].",TelefonoFijo=".$args['TelefonoFijo'].", Celular=".$args['Celular'].", Email = ".$args['Email'].", Direccion =".$args['Direccion'].", Contrasena=".$args['Contrasena'].", FechaDeNacimiento =".$args['FechaDeNacimiento']." where id=". $args['id'].""; 
    $result = $db->query($query);
    return $response->withJson(
        [
            "status" => 101,
            "data" => $result->fetchAll(),
            "message" => "Usuario de Id: " .$args['id']. " ha sido actualizado.",
        ], 200
    );
}

$app->get('/usuariou/{id}/{IdRh}/{IdEps}/{IdTipoDeDocumento}/{NroDeDocumento}/{Nombre}/{Apellido}/{TelefonoFijo}/{Celular}/{Email}/{Direccion}/{Contrasena}/{FechaDeNacimiento}', "UsuarioController:update");

我只想更新字段并快速消除错误。

在手机上,请原谅语法错误 让我们从函数开始,假设您在laravel 5+上

Public function update(Request $request, $args){
   //...code
 }
看起来您调用请求并不是为了实际传递任何数据,所以我们需要调用请求方法和请求变量

其次,应该使用所需的数据库表创建一个模型,使其看起来像这样

Public function update(Request $request, $args){
   $data = $request->all();
   $query = Usario::update([
   ‘Value_1’ => $data[‘value’],
   ]);
   If($query){
   Return response()->json([status" => 101,
        "data" => $result->fetchAll(),
        "message" => "Usuario de Id: " .$args['id']. " ha sido actualizado.",
    ], 200
   }
 }
在这里,我们将值传递给对所创建的模型调用的update方法,第二个问题是当您使用fetch all时,我相信它返回的是bool值,而不是任何结果

我们可以试试这样的

$query = Usario::update([
   ‘Value_1’ => $data[‘value’],
   ])->fetchAll();
我再次在手机上试着让我知道你是否需要帮助,我们会在早上解决这个问题