当我尝试从播客中取回剧集时,我得到了invalid association []. 不知道我做错了什么。package mainimport ( "log" "github.com/jinzhu/gorm" _ "github.com/mattn/go-sqlite3")type Podcast struct { Id int Title string RssUrl string `sql:"unique_index"` Url string Episodes []Episode}type Episode struct { Id int PodcastID int `sql:"index"` Title string Url string `sql:"unique_index"` Downloaded bool}func main() { db, err := gorm.Open("sqlite3", "gorm.db") if err != nil { log.Fatal(err) } db.LogMode(true) db.CreateTable(&Podcast{}) db.CreateTable(&Episode{}) podcast := Podcast{ Title: "My Podcast", RssUrl: "http://example.com/feed/", Url: "http://www.example.com", Episodes: []Episode{{Title: "Episode One Point Oh!", Url: "http://www.example.com/one-point-oh", Downloaded: false}}, } var episodes []Episode db.Model(&podcast).Related(&episodes)}
1 回答
www说
TA贡献1775条经验 获得超8个赞
您使用的是哪个版本的 GO 和 GORM?我在我的机器上试过,这是日志:
[2015-06-17 19:02:11] [12.00ms] CREATE TABLE "podcasts" ("id" integer,"title" varchar(255),"rss_url" varchar(255),"url" varchar(255) , PRIMARY KEY ("id"))
[2015-06-17 19:02:11] [1.26ms] CREATE TABLE "episodes" ("id" integer,"podcast_id" integer,"title" varchar(255),"url" varchar(255),"downloaded" bool , PRIMARY KEY ("id"))
[2015-06-17 19:02:11] [1.25ms] SELECT * FROM "episodes" WHERE ("podcast_id" = '0')
请注意,由于您没有创建 podcast 变量,因此 podcast_id 为 0,因此查询没有多大意义。
为了创建播客,只需添加此代码
db.NewRecord(podcast)
db.Create(&podcast)
var episodes []Episode
db.Model(&podcast).Related(&episodes)
log.Print(episodes)
- 1 回答
- 0 关注
- 221 浏览
添加回答
举报
0/150
提交
取消