/** * Update the specified resource in storage. * * @param int $id * @return PaulVL\JsonApi\Response */ public function update(Request $request, $id) { $class = $this->model_class; $response = new Response(); $object = $class::findOrFail($id); $inputs = ArrayHelper::empty_to_null($request->all()); $validator = Validator::make($inputs, $object->getUpdateRules()); if ($validator->fails()) { $validation_errors = StringHelper::concatInOneLine($validator->errors()->all(), ' '); return $response->responseUnprocessableEntity($validation_errors); } if (method_exists($this, 'updateData')) { return $this->updateData($object, $inputs); } else { try { $updated_rows = $class::where($object->getKeyName(), $object->getKey())->update($inputs); $object = $class::findOrFail($id); $response->handleData($object); return $response->response(); } catch (Exception $e) { return $response->responseInternalServerError(); } } }