ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
来源:互联网 发布:软件著作权多久 编辑:程序博客网 时间:2024/05/01 21:09
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
涉及thinkPHP针对数据表的查询与遍历操作相关实现技巧
在作业管理系统中,学生登陆到个人中心后可以通过左侧的菜单查看自己已经提交的作业和未提交作业。那么在系统中如何实现这些数据的查询的呢?首先我们需要弄清楚学生(Student)、班级(class)、作业提交表(Submit)这三个表之间的关系。
1. 每个学生都属于一个班级
2. 班级里的每个学生都会被布置同样的作业
3. 学生提交作业后会在作业提交表中添加响应的记录,如学生的ID,作业的ID,提交的内容等。
可以按照以下步骤获取学生已交作业和未交作业
1. 获取学生所在班级的所有作业
//获取学生所在班级的所有作业
public
function
getTasks(
$stuno
)
{
$stu
=
$this
::get([
'stu_no'
=>
$stuno
]);
$clas
=Clas::get([
'clas_id'
=>
$stu
[
'clas_id'
]]);
return
$clas
->task;
}
由上述代码课看出,首先根据学号($stuno)获取学生信息,通过学生信息表保存的班级ID(clas_id)再获取学生所在班级信息,最后通过班级与作业表之间的多对多的关系(详见Thinkphp5官方手册关于模型的关联部分内容),获取该学生所在班级所布置的所有作业。
2. 获取学生未交作业
该函数首先调用获取全部作业的函数($this->getTasks($stuno))获得了学生所在班级的所有作业。这个数据集是一个二维数组,遍历这个二维数组,看看这个二维数组中是否有作业已经被该学生提交到了Submit中,如果提交了就删除该元素。
3.获得学生已交作业
有了上述两个函数,获取已交作业的事情就变的简单了,第一个函数获得的二维数组减去第二个函数所返回的数组就是学生已交作业的集合,做下二维数组的求差即可
阅读全文
0 0
- ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
- 交作业
- 交作业
- 交作业
- 交作业
- 前几天交的作业
- 学生成绩管理系统(给交作业的兄弟准备的)
- 物流运交管理系统 派车作业
- 终于交作业了
- 不交作业
- 3.15交作业
- 一个用来交作业的东西。。。
- 编程作业:简单的学生管理系统
- 作业搞成这样,怎么交?
- 数学作业交不出来
- 算法交作业之查找
- 算法交作业之最大公约数
- 今天交作业有点慢。
- 南阳理工acm 139我排第几个
- js面向对象---无缝轮播图(附面向过程代码)
- Web前端面试题汇总
- python机器学习day'4
- Java之面试基础知识学习笔记
- ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
- 二叉树查找简单算法
- 数据库发展史
- Unity笔记
- 1小时学会MySQL基础
- 31、条件判断
- RUST开服教程、常用指令及心得
- 欢迎使用CSDN-markdown编辑器
- Java实现-背包问题VI