我正试图在gorm中使用多对多关系。但是,该示例是部分代码段,我尝试创建类似的示例代码段失败。
package main
import (
"github.com/jinzhu/gorm"
_ "github.com/mattn/go-sqlite3"
)
type Part struct {
gorm.Model
Name string
}
type Machine struct {
gorm.Model
Name string
Subtasks []Part `gorm:"many2many:parts;"`
}
func main() {
// Connect to the database
db, err := gorm.Open("sqlite3", "example.db")
if err != nil {
panic(err)
}
defer db.Close()
db.LogMode(true)
// Set up associations
if err := db.CreateTable(&Part{}).Error; err != nil {
panic(err)
}
if err := db.CreateTable(&Machine{}).Related(&[]Part{}).Error; err != nil {
panic(err)
}
}
对最后一次CreateTable调用感到恐慌:panic: invalid association []
答案 0 :(得分:0)
我认为你必须放弃Related
- 部分。 CreateTable
在我看来并不需要它。
if err := db.CreateTable(&Machine{}).Error; err != nil {
panic(err)
}
为我工作