リクエストとバリデーションについて、上に記載した以外にも色々な書き方があるのでメモ。
以下のメソッド内に処理を書くものとする。
public function store(Request $request): RedirectResponse
{
/* ここに処理を書くものとする */
return Redirect::route('category.index')->with('message', '登録しました。');
}
個別にリクエストを取得。
$name = $request->get('name');
$sort = $request->get('sort');
$test = $request->get('test', 'テスト'); // 項目が存在しない場合のデフォルト値を指定できる
dd([$name, $sort, $test]);
すべてのリクエストを保存。
$inputs = $request->all();
Category::create($inputs);
dd($inputs);
指定した項目のリクエストを保存。(意図しない値を取得することを防ぐ。)
$inputs = $request->only(['name', 'sort']);
Category::create($inputs);
dd($inputs);
登録。
$category = new Category;
$category->name = $request->name;
$category->sort = $request->sort;
$category->save();
更新。
$category = Category::findOrFail($id);
$category->name = $request->name;
$category->sort = $request->sort;
$category->save();
バリデーション。
$validated = $request->validate([
'name' => ['required', 'max:20'],
'sort' => ['required'],
]);
Category::create($validated);
dd($validated);