public function insert($data) { // Validating data $validator = Validator::make($data, Book::createrules()); // If there are no errors in data if (!$validator->fails()) { // Create Book $book = Book::create($data); // Checking if there are any chapters if (isset($data['chapters']) && sizeof($data['chapters']) > 0) { // Looping through chapters foreach ($data['chapters'] as $chapter) { // Creating the chapter $this->chaptersService->insert($book->id, $chapter); } } // Passing data to response service return $this->responseService->returnMessage($book, 'Book was not Inserted.'); } else { // Data has errors // Passing errors to response service return $this->responseService->errorMessage($validator->errors()->all()); } }