laravel基礎--9.5 表格demo-編輯數據

分離公共表單

 

{{--<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']);
 

注意事項

數據的渲染

 

 

 

 

 

 

發佈了76 篇原創文章 · 獲贊 5 · 訪問量 9219
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章