/** * Adds a new book to the database * * @param Book $book */ public function insertNewBook($book) { if (!$this->bookExistsByISBN13($book->getIsbn13())) { $bookData = $book->getInsertArray(); $this->app[Constants::DATABASE_SERVICE][Constants::DATABASE_MYSQL]->insert(Constants::BOOK_TABLE, $bookData); $bookId = $this->findBookIdByISBN13($book); $authorsIds = $this->insertSingleAuthor($book->getAuthors()); $insertData = []; $insertData[Constants::BOOK_FK_ID] = $bookId; $insertData[Constants::AUTHOR_FK_ID] = $authorsIds; $this->app[Constants::DATABASE_SERVICE][Constants::DATABASE_MYSQL]->insert(Constants::BOOK_AUTHOR_RELATION_TABLE, $insertData); } }