public function addbooks() { header('Content-Type: text/html; charset=utf-8'); for ($i = 0; $i <= 10; $i++) { $user = new User(); $user->name = $this->generateRandomString(5); $user->password = bcrypt($user->name); $user->email = $user->name . '@gmail.com'; $user->save(); } $names = ['%22feliz%20gouveia%22', '%22nuno%20ribeiro%22', '%22jose%20torres%22', '%22borges%20gouveia%22', '%22Sophia%20breyner%22', '%22Fernando%20Pessoa%22', '%22Eça%20De%20Queiros%22']; foreach ($names as $name) { $content = file_get_contents('https://www.googleapis.com/books/v1/volumes?q=' . $name); $content = json_decode($content, true); $auts = Author::all('name'); $authors = array(); foreach ($auts as $aut) { $authors[] = $aut['name']; } $pubs = Publisher::all('publisher'); $publishers = array(); foreach ($pubs as $pub) { $publishers[] = $pub['publisher']; } $cats = Collection::all('collection'); $categories = array(); foreach ($cats as $cat) { $categories[] = $cat['collection']; } foreach ($content['items'] as $data) { $data = $data['volumeInfo']; $book = new Book(); if (isset($data['title'])) { $book->title = $data['title']; } if (isset($data['subtitle'])) { $book->subtitle = $data['subtitle']; } if (isset($data['publishedDate'])) { $book->publishedDate = $data['publishedDate']; } if (isset($data['description'])) { $book->description = $data['description']; } if (isset($data['pageCount'])) { $book->pages = $data['pageCount']; } if (isset($data['language'])) { $book->language = $data['language']; } if (isset($data['industryIdentifiers'])) { foreach ($data['industryIdentifiers'] as $value) { if ($value['type'] == 'ISBN_13') { $book->isbn13 = $value['identifier']; } if ($value['type'] == 'ISBN_10') { $book->isbn10 = $value['identifier']; } } } if (isset($data['publisher'])) { if (!in_array($data['publisher'], $publishers)) { $publishers[] = $data['publisher']; $publisher = new Publisher(); $publisher->publisher = $data['publisher']; $publisher->save(); $publisher_id = $publisher->id; } else { $publisher = Publisher::where('publisher', '=', $data['publisher'])->limit(1)->get(); $publisher_id = $publisher[0]->id; } } if (isset($data['imageLinks']['thumbnail'])) { $book->cover = file_get_contents($data['imageLinks']['thumbnail']); } $book->price_day = random_int(0, 15); $book->price_bail = random_int(10, 50); $book->price_sale = random_int(10, 79); $books[] = $book; $book->id_publisher = $publisher_id; $book->id_user = rand(1, 10); $book->save(); $book_id = $book->id; if (isset($data['categories'])) { foreach ($data['categories'] as $value) { if (!in_array($value, $categories)) { $categories[] = $value; $category = new Collection(); $category->collection = $value; $category->save(); $category_id = $category->id; $collections = new Book_Collection(); $collections->book_id = $book_id; $collections->collection_id = $category_id; $collections->save(); } else { $category = Collection::where('collection', '=', $value)->limit(1)->get(); $collections = new Book_Collection(); $collections->book_id = $book_id; $collections->collection_id = $category[0]->id; $collections->save(); } } } if (isset($data['authors'])) { foreach ($data['authors'] as $value) { if (!in_array($value, $authors)) { $authors[] = $value; $author = new Author(); $author->name = $value; $author->save(); $author_id = $author->id; $author_book = new Author_Book(); $author_book->book_id = $book_id; $author_book->author_id = $author_id; $author_book->save(); } else { $author = Author::where('name', 'like', $value)->limit(1)->get(); $author_book = new Author_Book(); $author_book->book_id = $book_id; $author_book->author_id = $author[0]->id; $author_book->save(); } } } # code... } } }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit() { $user_id = Auth::user()->id; $data = INPUT::all(); $rules = $this->rules(); $messages = $this->messages(); $validator = Validator::make($data, $rules, $messages); if (!$validator->fails()) { $book = Book::find($data['id']); $book->title = $data['title']; $book->subtitle = $data['subtitle']; $book->publishedDate = $data['publishedDate']; $book->description = $data['description']; $book->pages = $data['pages']; $book->isbn10 = $data['isbn10']; $book->isbn13 = $data['isbn13']; $book->price_day = $data['price_day']; $book->price_bail = $data['price_bail']; $book->price_sale = $data['price_sale']; $book->language = $data['language']; if ($data['publisher'] != $book->id_publisher) { if ($data['publisher'] != '0') { $book->id_publisher = $data['publisher']; } else { $publisher = new Publisher(); $publisher->publisher = $data['newpublisher']; $publisher->save(); $book->id_publisher = $publisher->id; } } if (isset($data['cover'])) { $book->cover = file_get_contents($data['cover']); } $book_id = $book->id; Book_Collection::where('book_id', $book_id)->delete(); Author_Book::where('book_id', $book_id)->delete(); $book_collection = new Book_Collection(); $book_collection->book_id = $book_id; $book_collection->collection_id = $data['collection']; $authors = explode(',', $data['authors']); foreach ($authors as $author) { $tmp = Author::where('name', 'like', $author)->limit(1)->get(); if (count($tmp) > 0) { $author_book = new Author_Book(); $author_book->book_id = $book_id; $author_book->author_id = $tmp[0]->id; $author_book->save(); } else { $newAuthor = new Author(); $newAuthor->name = $author; $newAuthor->save(); $author_id = $newAuthor->id; $author_book = new Author_Book(); $author_book->book_id = $book_id; $author_book->author_id = $author_id; $author_book->save(); } } $book->save(); return redirect('book/edit/' . $book_id . ''); } return back()->withInput($data)->withErrors($validator); }