我希望记录学生注册部分中的特定课程 ??? 因为一门课程分多讲。
class Student < ActiveRecord::Base
has_many :enrolments
has_many :courses, through: :enrolment
end
class course < ActiveRecord::Base
has_many :enrolment
has_many :students, through: :enrolment
has_many :sections
end
class enrolment < ActiveRecord::Base
belongs_to :students
belongs_to :courses
end
class Section < ActiveRecord::Base
belongs_to :courses
end
关系
Student.first.courses.first.sections
由于这种关系,我得到了多个部分。 但我想获得单个部分,其中学生注册特定的课程 ??? 在这里我很困惑你觉得这个设计好吗?如果没有,请提供一些建议。
答案 0 :(得分:1)
您需要一个桌子/班级(学生,课程,部分),其中关联学生在特定课程的特定部分注册,或者(注册,部分),其中一对满足注册学生注册时的关系在注册部分 - 您的评论可能不是您使用注册的方式&amp;类Class的部分。 (问问自己:你如何记录特定学生在课程的某个部分注册?)从学生,班级和学生开始部分;添加注册了学生课程部分。
答案 1 :(得分:0)
我认为这可以基于Laravel框架。
<强>表格强>
表格表示
学生表
id | name | email |
---|------|-------|
1 |Test |test@test.com|
课程表
id | name |
---|------|
1 |Course A|
章节表
id | name |
---|------|
1 |Section A|
<强>关系强>
关系表
Course_Student Table
course_id | student_id|
----------|-----------|
1 |1
Course_Section Table
course_id | section_id
----------|-----------
1 |1
现在你可以根据弱实体或中间表(根据Laravel)获得student_id,course_id和section_id。
希望这有助于你