我有以下结构
type Employee struct {
EmployeeID int64 `gorm:"primary_key;column:employee_id"`
EmployeeCode string `gorm:"column:employee_code"`
FirstName string `gorm:"column:first_name"`
LastName string `gorm:"column:last_name"`
DesignationID int64 `gorm:"column:designation_id;"`
Designation *Designation
}
type Designation struct {
DesignationID int64 `gorm:"primary_key;column:designation_id"`
DesignationName string `gorm:"column:designation_name"`
}
func GetEmployee(id int64) (*Employee, error) {
db := connection.GetConn() //get connection
defer db.Close()
employee := &Employee{}
err := db.Model(employee).Preload("Designation").Find(employee).Error
return employee, err
}
在表格中,我有以下记录:
employee :
employee_id | employee_code | first_name | last_name | designation_id
1 | EMP1 | Raj | Mane | 1
designation:
designation_id | designation_name
1 | Engineer
employee.designation_id 被标记为外键引用指定表
当我调用函数 GetEmployee 时,它返回错误说无法为 model.Employee 预加载字段 Designation
我已经提到了许多与 Preload 相关的问题,但没有一个解决方案有效。我认为其他工作案例之间的唯一区别是主要 id 列名。谁能建议正在发生的事情以及我在这里缺少什么?
慕侠2389804
慕仙森
相关分类