分離公共表單
{{--<form class="form-horizontal" method="post" action="{{ url('student/save') }}">--}}
<form class="form-horizontal" method="post" action="">
{{ csrf_field() }}
<div class="form-group">
<label for="name" class="col-sm-2 control-label">姓名</label>
<div class="col-sm-5">
<input type="text" name="Student[name]" class="form-control" id="name"
value="{{ old('Student')['name'] ? old('Student')['name'] : $student->name }}" placeholder="請輸入學生姓名">
</div>
<div class="col-sm-5">
<p class="form-control-static text-danger">{{ $errors->first('Student.name') }}</p>
</div>
</div>
<div class="form-group">
<label for="age" class="col-sm-2 control-label">年齡</label>
<div class="col-sm-5">
<input type="text" name="Student[age]" class="form-control" id="age"
value="{{ old('Student')['age'] ? old('Student')['age'] : $student->age }}" placeholder="請輸入學生年齡">
</div>
<div class="col-sm-5">
<p class="form-control-static text-danger">{{ $errors->first('Student.age') }}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">性別</label>
<div class="col-sm-5">
@foreach($student->student_sex() as $key=>$value)
<label class="radio-inline">
<input type="radio" name="Student[sex]"
{{ $student->sex == $key ? "checked" : '' }}
value={{ $key }}> {{ $value }}
</label>
@endforeach
</div>
<div class="col-sm-5">
<p class="form-control-static text-danger">{{ $errors->first('Student.sex') }}</p>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</div>
</form>
新建模板文件
@extends('common.layouts')
@section('content')
@include('common.validate')
<!-- 自定義內容區域 -->
<div class="panel panel-default">
<div class="panel-heading">修改學生</div>
<div class="panel-body">
@include('common._form')
</div>
</div>
@stop
新建控制器方法、路由
StudentController.php
public function update(Request $request,$id){
$student = Student::find($id);
if($request->isMethod('POST')){
$data = $request->input('Student');
//Validator類驗證
$validator = Validator::make($request->input(),[
'Student.name'=> 'required|min:2|max:20',
'Student.age'=> 'required|integer',
'Student.sex'=> 'required|integer',
],[
'required' => ':attribute 不能爲空',
'min' => ':attribute 最小長度2個字符',
'max' => ':attribute 最大長度20個字符',
'integer' => ':attribute 必須爲整數',
],[
'Student.name' => '姓名',
'Student.age' => '年齡',
'Student.sex' => '性別',
]);
if($validator->fails()){
return redirect()->back()->withErrors($validator)->withInput();
}
//使用create方法 涉及批量賦值 先設置黑名單($guarded) 或白名單 ($fillable)
if(Student::create($data)){
return redirect('student/index')->with('success','修改成功') ;
}else{
return redirect()->back()->withErrors($validator)->withInput();
}
}
return view('student.update',[
'student'=>$student
]);
}
web.php
Route::any('student/update/{id?}',['uses'=>'StudentController@update']);
注意事項
數據的渲染