我正在尝试在 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 : panic :无效关联 []
最佳答案
我认为您必须删除 Related
部分。据我所知,CreateTable
不需要它。
if err := db.CreateTable(&Machine{}).Error; err != nil {
panic(err)
}
对我有用
关于go - Gorm 中的 many2many,真的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34700479/