增加路由:
Route::any('Student/update/{id}',['uses'=>'StudentController@update']);
控制器代码:(Request $request不会影响参数)
public function update(Request $request,$id){ $student = Student::find($id); if($request->isMethod('POST')){ //验证通过后继续进行 //方法2 Validator类验证 $validator = \Validator::make($request->input(),[ 'Student.name' => 'required|min:2|max:20', 'Student.age' => 'required|integer', 'Student.gender' => 'required|integer', ],[ 'required'=>':attribute 为必填项', 'min' => ':attribute 长度不符合要求', 'integer' => ':attribute 必须是一个整形', ],[ 'Student.name' => '姓名', 'Student.age' => '年龄', 'Student.gender' => '性别', ]); if($validator->fails()){ return redirect()->back()->withErrors($validator)->withInput(); } //如果验证通过,则继续执行下面的代码 $data = $request->input('Student'); $student->name = $data['name']; $student->age = $data['age']; $student->gender = $data['gender']; if($student->save()){ return redirect('Student/index')->with('success','修改成功'); }else{ return redirect()->back(); } } return view('Student.update',[ 'student'=>$student ]);}列表视图的代码:
<a href="{{ url('Student/update',['id'=>$val->id]) }}">编辑</a>修改页面代码:
<form method="post" action="{{ url('Student/update',['id'=>$student->id]) }}"> {{ csrf_field() }} 姓名 :<input type="text" name="Student[name]" value="{{ old('Student')['name']?old('Student')['name']:$student->name }}" /> 年龄 :<input type="text" name="Student[age]" value="{{ old('Student')['age']?old('Student')['name']:$student->age }}" /> 性别 : @foreach($student->user_sex() as $ind=>$val) <input type="radio" name="Student[gender]" value="{{$ind}}" {{ (old('Student')['gender']?old('Student')['gender']:$student->gender)==$ind?'checked':'' }} />{{$val}} @endforeach <input type="hidden" name="Student[id]" value="{{$student->id}}"> <input type="submit" value="提交"/></form>
转载于:https://www.cnblogs.com/gyfluck/p/9072793.html
相关资源:Laravel框架Eloquent ORM修改数据操作示例