public function update($book_id, $id, $data) { // Checking if chapter exists $chapter = Chapter::where('book_id', $book_id)->where('id', $id)->first(); // If chapter exists if (!empty($chapter)) { // Validating data $validator = Validator::make($data, Chapter::updaterules($id)); // If there are no errors in data if (!$validator->fails()) { // Update chapter $chapter->update($data); // Checking if there are any pages if (isset($data['pages']) && sizeof($data['pages']) > 0) { // Looping through pages foreach ($data['pages'] as $page) { if (isset($page['id'])) { // Getting the page $findpage = $this->pagesService->find($chapter->id, $page['id']); // Checking if page exists if ($findpage['success']) { // Updating the page $this->pagesService->update($chapter->id, $page['id'], $page); } } else { // Creating the workflow part $this->pagesService->insert($chapter->id, $page); } } } // Passing data to response service return $this->responseService->returnMessage($chapter, 'Chapter was not Updated.'); } else { // Data has errors // Passing errors to response service return $this->responseService->errorMessage($validator->errors()->all()); } } else { // Chapter not found // Returning error message return $this->responseService->errorMessage('Chapter was not Found.'); } }