BookController.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. // php artisan make:controller BookController
  3. // app/Http/Controllers/BookController.php
  4. namespace App\Http\Controllers;
  5. use Illuminate\Http\Request;
  6. // Фасад DB здесь не используется; здесь используется модель
  7. use App\Models\Book;
  8. class BookController extends Controller {
  9. function index() {
  10. $books = Book::all(); // Достать все книги
  11. return view("books", ["rows" => $books]);
  12. }
  13. function add() {
  14. return view("add_book_form");
  15. }
  16. function view(Book $book) {
  17. return view("book", ["book" => $book]);
  18. }
  19. function store(Request $request) {
  20. $request->validate([
  21. "name" => "required",
  22. "annotation" => "nullable",
  23. "pagecount" => "nullable|numeric",
  24. "year" => "nullable|numeric",
  25. "isbn" => "nullable"
  26. ], [
  27. "name" => "Книга должна иметь название."
  28. ]);
  29. $arr = $request;
  30. $book = new Book;
  31. $book->name = $arr->name;
  32. $book->annotation = $arr->annotation;
  33. $book->pagecount = $arr->pagecount;
  34. $book->year = $arr->year;
  35. $book->isbn = $arr->isbn;
  36. $book->authors = 0;
  37. $book->save();
  38. return view("success");
  39. }
  40. }