お世話になっております。
前提として
Laravel5.5
EloquentとResourcefulを利用しています。
質問は、バリデーションを使用して登録済みデータを修正したいのですが、
view上のvalueに渡す値の正解が見つかりません。
ご教授いただければ幸いです。
下記の例は、peopleテーブルにあるnameカラムのデータを修正した想定です。
PersonController.php(抜粋)
public function edit($id) { $item = Person::find($id); return view('person.edit', ['form'=>$item]); } public function update(Request $request, $id) { $this->validate($request, Person::$rules); $person = Person::find($id); $form = $request->all(); unset($form['_token']); $person->fill($form)->save(); return redirect('/person/'.$id); }
edit.blade.php(抜粋)
<input type="text" name="name" value="{{ $form->name }}"> にすると、データベースから「name」は読み込むが、バリデーションエラー時の入力されたデータが表示されない <input type="text" name="name" value="{{ old('name') }}"> にすると、データベースから「name」は読み込まないが、バリデーションエラー時の入力されたデータが表示される試行錯誤した結果
value="{{ old('name',$form->name) }}"
としたら期待した動きにはなったようですが、これで良いのか判りません。
あなたの回答
tips
プレビュー