/** * Display the specified resource. * * @param int $id * @return PaulVL\JsonApi\Response */ public function show($modelId, $relatedId) { $class = $this->model_class; $relation = $this->relationship_name; $response = new Response(); /* MANUAL DATA HANDLING $handler = new DataHandler($class::findOrFail($id)); $response->data = $handler->getApiJsonableData(true); */ $response->handleData($class::findOrFail($modelId)->{$relation}()->findOrFail($relatedId)); return $response->response(); }
/** * 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(); } } }