ソースを参照

Preload Class.Coordinator when fetching students

Andrea Fazzi 6 年 前
コミット
0fa00210ad
2 ファイル変更3 行追加2 行削除
  1. 1 0
      orm/orm_test.go
  2. 2 2
      orm/student.go

+ 1 - 0
orm/orm_test.go

@@ -142,6 +142,7 @@ func (t *testSuite) TestGetStudentAll() {
 		t.Equal("ROSSI", student.(*Student).Surname)
 
 		t.Equal("1 A", student.(*Student).Class.Name)
+		t.Equal("LUNGA", student.(*Student).Class.Coordinator.Surname)
 	}
 
 }

+ 2 - 2
orm/student.go

@@ -62,7 +62,7 @@ func GetStudentAll(args map[string]string) (interface{}, error) {
 
 	id := args["id"]
 
-	if err := DB().Preload("Class").Where("id = ?", id).Find(&student).Error; err != nil {
+	if err := DB().Preload("Class").Preload("Class.Coordinator").Where("id = ?", id).Find(&student).Error; err != nil {
 		return nil, err
 	}
 
@@ -91,7 +91,7 @@ func GetStudentsFast(args map[string]string) (interface{}, error) {
 
 func GetStudentsAll(args map[string]string) (interface{}, error) {
 	var students []*Student
-	if err := DB().Preload("Class").Preload("Tutor").Order("surname,name").Find(&students).Error; err != nil {
+	if err := DB().Preload("Class").Preload("Class.Coordinator").Preload("Tutor").Order("surname,name").Find(&students).Error; err != nil {
 		return nil, err
 	}
 	for _, student := range students {