gpt4 book ai didi

Gorm加载相关数据

转载 作者:数据小太阳 更新时间:2023-10-29 03:27:03 24 4
gpt4 key购买 nike

玩弄golang gorm orm,我有以下理解问题:

我的模型看起来像:

package models

import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/sqlite"
)

type Book struct {
gorm.Model
Title string `gorm:"size:255;not null;"`
Desctiption string
Tags []Tag `gorm:"many2many:book_tags;"`
}

type Tag struct {
ID int
Name string
}

我在我的 revel Controller 中使用它,如下所示:

import (
"github.com/foobar/myrevel/app/models"
"github.com/revel/revel"
)

type Book struct {
GormController
}

func (c Book) Books() revel.Result {
books := &[]models.Book{}
// don't loads tags
//Gdb.Order("id desc").Find(&books)
// don't loads tags
Gdb.Preload("Tags").Order("id desc").Find(&books).Related("Tags")

return c.Render(books)
}

数据库表在那里:books、tags 和 book_tags首先使用代码创建,插入工作正常。

func (c Book) InsertTestData() revel.Result {
book := &models.Book{
Title: "Hello Go lang",
Desctiption: "The bueaty of golang",
Tags: []models.Tag{{Name: "Golang"}, {Name: "Go"}},
}

Gdb.NewRecord(&book)
Gdb.Create(&book)
}

啊,还有查看代码:

<tbody>
{{range .books}}
<tr>
<td>{{.Title}}</td>
<td>
{{.Desctiption}}<br />
{{range .Tags}}
{{.Name}}
{{end}}
</td>
</tr>
{{end}}
</tbody>

在 gorm 文档中它说:

db.Model(&user).Related(&emails)
//// SELECT * FROM emails WHERE user_id = 111; // 111 is user's primary key

http://jinzhu.me/gorm/associations.html#many-to-many

标签总是对书籍进行空迭代工作正常。对它(无效关联 [])但适用于书籍。

错在什么地方,如何做对?

感谢您的宝贵时间和帮助。

干杯

最佳答案

昨天晚上 gorm 更新后。所有(有问题的代码)都像文档​​一样工作。 :)

关于Gorm加载相关数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37888262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com