在 Laravel 中正确设计数据库结构
Posted
技术标签:
【中文标题】在 Laravel 中正确设计数据库结构【英文标题】:Properly designing database structure in Laravel 【发布时间】:2022-01-12 22:30:43 【问题描述】:我想问一下您对此有何看法。
简而言之,该应用程序有几个角色,管理员、教师和学生。
学年从特定日期开始,并在某一天结束。示例 1.9.2021 至 20.6.2022。 每个学生都有测试,结果应该由老师管理。默认测试,每年记录2次结果。
每个测试结果都以秒为单位,然后您有一个表格,其中包含每个性别和年龄的最小值-最大值,您可以使用该表格与当前结果进行比较。
然后每个学生都有一个称为存档的记录,他可以在其中查看他以前的记录。我怎样才能做到这一点?
目前使用 Laravel 8.7 和 php 8.0
【问题讨论】:
【参考方案1】:您可能知道,在 MVC(模型-视图-控制器)框架中,模型实际上是一个数据库实体,控制器是您的应用程序逻辑所在的位置,视图将数据显示给用户。
因此,对于您的应用程序,我推荐以下结构:
型号:
管理员 老师 学生 学期 测试 测试结果控制器:
管理员控制器 教师控制器 学生控制器 学期控制器 测试控制器 TestResultController您可以决定哪些视图是必要的。
例如:
students_list 学生信息 test_results如果您需要更多解释,请告诉我
【讨论】:
【参考方案2】:添加不同的模型作为 User、School、SchoolSession、SchoolSessionTest、SchoolSessionTestQuestion、SchoolSessionTestResult 从模型的名称来看,关系应该是不言自明的 具有最小值-最大值的表可以通过对您的用户模型的某些分组查询来实现。
【讨论】:
以上是关于在 Laravel 中正确设计数据库结构的主要内容,如果未能解决你的问题,请参考以下文章