Laravel之简单的学生信息管理平台

laravel框架写的简易版的学生信息管理平台,贯穿了laravel的控制器、视图、模板、模型、中间件、路由规则的使用。

页面是使用BootStrap前端框架搭建

使用laravel实现了增删改查的功能。

代码下载链接在文章底部。

1
2
3
4
5
6
7
8
9
//这是路由文件的关键代码
Route::group(['middleware' => ['web']], function () {
    Route::get('student/index',['uses'=>'StudentController@index']);
    Route::any('student/create',['uses'=>'StudentController@create']);
    Route::post('student/save',['uses'=>'StudentController@save']);
    Route::any('student/update/{id}',['uses'=>'StudentController@update']);
    Route::any('student/detail/{id}',['uses'=>'StudentController@detail']);
    Route::any('student/delete/{id}',['uses'=>'StudentController@delete']);
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
//控制器文件的关键代码,增删改查
class StudentController extends  Controller{
    //学生列表
    public function  index(){
        $students = Student::paginate(20);
 
        //dd($students);
        return view('student.index',[
            'students'=>$students,
        ]);
    }
 
    //新增页面
    public function create(Request $request){
        $student = new Student();
 
        if($request->isMethod('POST')){
 
            //1.控制器验证
            /*$this->validate($request,[
               'Student.name'=>'required|min:2|max:20',
               'Student.age' =>'required|integer',
               'Student.sex' =>'required|integer',
            ],[
                'required'=>':attribute 为必填项',
                'min'=>':attribute长度不符合要求',
                'integer'=>':attribute必须为整数',
            ],[
                'Student.name'=>'姓名',
                'Student.age' =>'年龄',
                'Student.sex' =>'性别'
            ]);*/
 
            //2.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长度不符合要求',
                'integer'=>':attribute必须为整数',
            ],[
                'Student.name'=>'姓名',
                'Student.age' =>'年龄',
                'Student.sex' =>'性别'
            ]);
 
            //withInput保持数据
            if($validator->fails()){
                return redirect()->back()->withErrors($validator)->withInput();
            }
 
            $data = $request->input('Student');
            if(Student::create($data)){
                return redirect('student/index')->with('success','添加成功');
            }else{
                return redirect()->back();
            }
        }
 
        return view('student.create',[
            'student'=>$student,
        ]);
    }
 
    //保存数据操作
    public function save(Request $request){
        $data = $request->input('Student');
        $student = new Student();
        $student->name = $data['name'];
        $student->age = $data['age'];
        $student->sex = $data['sex'];
        if($student->save()){
            return redirect('student/index');
        }else{
            return redirect()->back();
        }
    }
 
    //更新数据操作
    public function update(Request $request,$id){
        $student = Student::find($id);
 
        if($request->isMethod('POST')){
            //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长度不符合要求',
                'integer'=>':attribute必须为整数',
            ],[
                'Student.name'=>'姓名',
                'Student.age' =>'年龄',
                'Student.sex' =>'性别'
            ]);
 
            //withInput保持数据
            if($validator->fails()){
                return redirect()->back()->withErrors($validator)->withInput();
            }
 
            $data = $request->input('Student');
            $student->name = $data['name'];
            $student->age  = $data['age'];
            $student->sex  = $data['sex'];
            if($student->save()){
                return redirect('student/index')->with('success','修改成功-'.$id);
            }
        }
 
        return view('student.update',[
            'student'=>$student,
        ]);
    }
 
    //信息详情
    public function detail($id){
        $student = Student::find($id);
        return view('student.detail',[
            'student'=>$student,
        ]);
    }
 
    //删除操作
    public function delete($id){
        $student = Student::find($id);
        if($student->delete()){
            return redirect('student/index')->with('success','删除成功-'.$id);
        }else{
            return redirect('student/index')->with('error','删除失败-'.$id);
        }
    }
}

  

  

下面是效果展示

学生列表页

新增页面

详情页面

修改页面

代码下载:http://download.csdn.net/detail/yxhbk/9659523

posted @   Yxh_blogs  阅读(1366)  评论(1编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示