123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- // php artisan make:controller BookController
- // app/Http/Controllers/BookController.php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- // Фасад DB здесь не используется; здесь используется модель
- use App\Models\Book;
- class BookController extends Controller {
- function index() {
- $books = Book::all(); // Достать все книги
- return view("books", ["rows" => $books]);
- }
- function add() {
- return view("add_book_form");
- }
- function view(Book $book) {
- return view("book", ["book" => $book]);
- }
- function edit(Book $book) {
- return view("edit_book_form", ["book" => $book]);
- }
- function store(Request $request) {
- $request->validate([
- "id" => "nullable|exists:books",
- "name" => "required",
- "annotation" => "nullable",
- "pagecount" => "nullable|numeric",
- "year" => "nullable|numeric",
- "isbn" => "nullable"
- ], [
- "name" => "Книга должна иметь название."
- ]);
- $arr = $request;
- $book = Book::find($arr->id) ?? new Book;
- $book->name = $arr->name;
- $book->annotation = $arr->annotation;
- $book->pagecount = $arr->pagecount;
- $book->year = $arr->year;
- $book->isbn = $arr->isbn;
- $book->authors = 0;
- $book->save();
- return view("success");
- }
- }
|