課題で入力フォームを増やすというものがあったが、どれだけフォームを変更してもデータベースが更新されず常におなじ値になっていた。
原因は、以下の// Eloquent モデルが定数になっていたこと
use App\Book;
use Illuminate\Http\Request;
/**
* 本のダッシュボード表示(books.blade.php)
*/
Route::get('/', function () {
$books = Book::orderBy('created_at', 'asc')->get();
return view('books', [
'books' => $books
]);
//return view('books',compact('books')); //も同じ意味
});
/**
* 新「本」を追加
*/
Route::post('/books', function (Request $request) {
//バリデーション
$validator = Validator::make($request->all(), [
'item_name' => 'required|max:255',
'item_number' => 'required|min:1|max:3',
'item_amount' => 'required|max:6',
'published' => 'required|min:7',
]);
//バリデーション:エラー
if ($validator->fails()) {
return redirect('/')
->withInput()
->withErrors($validator);
}
//以下に登録処理を記述(Eloquentモデル)
// Eloquent モデル
$books = new Book;
$books->item_name = $request->item_name;
$books->item_number = $request->item_number;
$books->item_amount = $request->item_amount;
$books->published = $request->published;
$books->save();
return redirect('/');
});
/**
* 本を削除
*/
Route::delete('/book/{book}', function (Book $book) {
$book->delete(); //追加
return redirect('/'); //追加
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');