【问题标题】:relationship between students, teacher , periods and attenance学生、老师、时间和出勤之间的关系
【发布时间】:2016-10-24 14:27:40
【问题描述】:

我有用户模型,并且(教师、学生和原则)使用 STI 从它继承

每个班级只有很多学生和一位老师。 每个学生都有很多课。 每个班级都有很多学生

class Class < ApplicationRecord
  has_and_belongs_to_many:students
  belongs_to:teacher
  has_many:periods
end

class User < ApplicationRecord
  has_and_belongs_to_many:students
  belongs_to:teacher
  has_many:periods
end

class Teacher < User
  has_many:classes
end

class Student < User
  has_and_belongs_to_many:classes
  has_many:period
end

class Period < ApplicationRecord
  belongs_to:teacher
  belongs_to:student
end

每节课都有很多节。

我如何设置班级出勤率,因为每个时期都有每个学生的出勤率? 我如何在用户和班级以及期间和出勤之间建立关系?

class Attendance < ApplicationRecord
  ????????
end

【问题讨论】:

  • 您的问题需要重新格式化。你想要什么并不完全清楚。

标签: sql ruby-on-rails rails-models


【解决方案1】:

教师 1 - * 课程

第 1 班 - * 学生

第 1 类 - * 期

学生 1 - * tblStuPer

周期 1 - * tblStuPer

tblStuPer 1 - * tblAttendence

周期表:

PeriodID、日期和时间,例如 ['Monday', '9am'], ['Wednesday', '3pm']。

tblStuPer 表:

tblStuPerID、StudentID、PeriodID。

tbl参加:

AttendenceID、日期、tblStuPer、isHere

这意味着连接表将存储:学生 1 in (Monday 9am periodid(x)),因为这是重复的,然后出勤表可以存储实际日期 01/01/1901。 然后从那里可以加入班级(化学)和E老师。

并不是说这是最有效的答案,但希望我的思考过程有所帮助。

【讨论】: