3.13 管理-班级
第 33 节 / 共 46 节
课程:ThinkPHP
本节完成班级表(clazz)的新增和修改。
(如果使用上面的远程前端,那么需要在控制器类上声明标签CrossOrgin,原因是不同ip之间的http请求称为跨域请求,有可能被拦截)
@CrossOrigin API控制器 public class Greeting控制器{ /* 省略 */ }一.添加班级
由于class是编程语言的关键字,所以使用clazz作为表名。
用管理员登录后,点击管理,然后左侧菜单的“班级管理”,第一条就是添加班级
选择班级的年级后,输入班级名、专业、方向(可为空)、下列选择默认课程(可为空)

默认课程的值和菜单的课程一致,如果前面的课程查询已完成(13.5要完成的getCourses请求),这里就会有值。
点击添加课程后,将以post方式发送saveClass请求,参数为:

和课程表course一样,clazz表也有一个valid字段,表示该班级是否有效,新建班级该值为‘1’,表示有效
二.修改班级
修改班级和修改课程类似。它也需要额外载入两个数据:
1.取得所有教师。班级在创建的时候,会让创建者成为该班级的默认教师,修改班级的时候,可以修改。前端将发起/getTeachers的get请求,后台则需要返回role为4的所有用户,返回的json格式为:
{ "code": "200", "info": null, "data": [ { "username": "13708", "role": "4", "nickname": "肖生", "createDate": "2019-03-14 18:43:25", "isValid": "1", "wxOpenid": null }, { "username": "kcw", "role": "4", "nickname": "邝文文", "createDate": "2020-02-14 14:02:50", "isValid": "1", "wxOpenid": null }, //其余省略... ]} 2.取得所有班级。前端将发起一个get请求/getAllClasses,请求没有参数,要求返回所有班级。
该请求应当返回的json格式为:
{ "code": "200", "info": null, "data": [ { "valid": "1", "teacherId": "abc", "major": "软件技术", "studentNumber": 237, "grade": "0", "name": "软件", "id": "27", "oriented": "无", "courseId": "1", "createDate": "2020-03-07 22:45:04" }, { "valid": "1", "teacherId": "abc", "major": "1", "studentNumber": 3, "grade": "0", "name": "教师", "id": "28", "oriented": "1", "courseId": "1", "createDate": "2020-02-27 11:11:52" }, //省略剩余班级 ]}与添加课程、修改课程共用addCourse请求一样,添加班级和修改班级也共用请求saveClass。要修改班级的时候,下拉选择要修改的班级,表单对应的值会自动填入,修改了信息,点击修改会把当前表单的所有项都发送到后台的/saveClass请求:

《ThinkPHP》课程目录
介绍PHP框架ThinkPHP6
- 第1章 配置环境
- 1.1 第一个ThinkPHP8项目
- 1.2 Composer项目结构介绍
- 1.3 启动项目
- 1.4 ThinkPHP8项目的部署
- 1.5 idea教育版免费一年获取办法
- 第2章 基本特性
- 2.1 响应HTTP请求
- 2.2 响应html
- 2.3 登录-前端
- 2.4 登录-后台
- 2.5 数据库基本操作
- 2.6 模型支持
- 2.7 登录状态和session
- 2.8 注册
- 2.9 主页文章列表
- 2.10 单篇文章内容
- 2.11 完善文章页面
- 2.12 文件上传
- 第3章 实训
- 3.1 项目准备
- 3.2 登录
- 3.3 数据库登录和json规范返回
- 3.4 注册
- 3.5 查询课程
- 3.6 个人信息
- 3.7 修改昵称
- 3.8 *主页信息
- 3.9 统计
- 3.10 学习-侧边导航
- 3.11 *学习-右边内容
- 3.12 管理-课程
- 3.13 管理-班级
- 3.14 管理-班级-学生换班
- 3.15 管理-班级-查找学生
- 第4章 git代码管理
- 4.1 建立代码库
- 4.2 代码管理提交、推送和拉取
- 4.3 从云克隆代码
- 第5章 项目重构成spirngboot
- 5.1 项目技术介绍
- 5.2 创建一个ThinkPHP8项目
- 5.4 移入网页和PHP代码
- 5.5 模型和服务
- 5.7 测试
- 第6章 nginx