|
@@ -16,6 +16,7 @@ SELECT teachers.* FROM activities
|
|
INNER JOIN teachers on teachers.id=activities.teacher_id
|
|
INNER JOIN teachers on teachers.id=activities.teacher_id
|
|
WHERE class_id=?
|
|
WHERE class_id=?
|
|
`
|
|
`
|
|
|
|
+ selectClassStudents = "SELECT * FROM students WHERE class_id=?"
|
|
)
|
|
)
|
|
|
|
|
|
type Class struct {
|
|
type Class struct {
|
|
@@ -112,6 +113,10 @@ func GetClassesAll(args map[string]string) (interface{}, error) {
|
|
class.GetTeachers()
|
|
class.GetTeachers()
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ for _, class := range classes {
|
|
|
|
+ class.GetStudents()
|
|
|
|
+ }
|
|
|
|
+
|
|
for _, class := range classes {
|
|
for _, class := range classes {
|
|
class.GetActivities()
|
|
class.GetActivities()
|
|
}
|
|
}
|
|
@@ -210,6 +215,13 @@ func (c *Class) GetTeachers() ([]*Teacher, error) {
|
|
return c.Teachers, nil
|
|
return c.Teachers, nil
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+func (c *Class) GetStudents() ([]*Student, error) {
|
|
|
|
+ if err := DB().Raw(selectClassStudents, c.ID).Scan(&c.Students).Error; err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+ return c.Students, nil
|
|
|
|
+}
|
|
|
|
+
|
|
func (c *Class) GetActivities() ([]*Activity, error) {
|
|
func (c *Class) GetActivities() ([]*Activity, error) {
|
|
if err := DB().Preload("Teacher").Preload("Subject").Preload("Class").Where("class_id=?", c.ID).Find(&c.Activities).Error; err != nil {
|
|
if err := DB().Preload("Teacher").Preload("Subject").Preload("Class").Where("class_id=?", c.ID).Find(&c.Activities).Error; err != nil {
|
|
return nil, err
|
|
return nil, err
|