我正试着从PHP切换到Go,但我在一点上被困住了,我请求你的帮助.

我只是在查询中定义了一个名为"Durum"的别名,数据库中没有这样的命名字段.如何将我定义为别名的名称发送到我的索引模板?

    Vilan := []model.Vfilan{}

    dSubquery := r.DB.Table("Dipfilan").
        Select("(select id from iform where id = Dipfilan.id and actv='1' )as uuid ").
        Where("tur = '2' AND finish > ?", time.Now())

    errIlan := r.DB.Table("Vfilan").
        Select("id, baslik,durumid, "+
            "(SELECT title FROM idurum WHERE idurum .id = Vfilan.durumid) as durums").
        Where("onay = '1'  AND (id IN ? )", dSubquery).
        Order("id DESC").
        Find(&Vilan).
        Error


    if errIlan != nil {
        return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
            "message": "err" + errIlan.Error(),
        })
    }


    return c.Render("index", fiber.Map{
        
        "VindwIlan": Vilan,

        "Vdurum": durums, 
    })



"Vduum":Durum,我收到错误,未声明的名称:Durum

如何将"Durum"内容发送到我的索引模板.

您能分享完整的错误消息吗? 未申报的名字:杜鲁姆

您能具体说明在哪一行收到此错误吗?

return c.Render("index", fiber.Map{
           "VindwIlan": Vilan,
    "Vdurum": durums, 
})

推荐答案

我解决了我的问题.

我实现了如下所示的 struct .任何需要它的人都可以从这里复制.

首先,我定义了一个新 struct ,并在其中添加了我的主表 然后我添加了我在其下面作为别名拉出的字段.

type Vilanlar struct {
        model.Vfilan
        Durums string `gorm:"->" json:"durums"`
    }
  

然后我写我的代码-更新"errIlanlar := r.DB.Model(&model.Vfilan{}) "

 Vilan := []Vilanlar{}


    dSubquery := r.DB.Table("Dipfilan").
        Select("(select id from iform where id = Dipfilan.id and actv='1' )as uuid ").
        Where("tur = '2' AND finish > ?", time.Now())

    errIlanlar := r.DB.Model(&model.Vfilan{}).
        Select("id, baslik,durumid, "+
            "(SELECT title FROM idurum WHERE idurum .id = Vfilan.durumid) as durums").
        Where("onay = '1'  AND (id IN ? )", dSubquery).
        Order("id DESC").
        Find(&Vilan).
        Error


    if errIlan != nil {
        return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
            "message": "err" + errIlan.Error(),
        })
    }


    return c.Render("index", fiber.Map{
        "VindwIlan": Vilan, 
    })


然后-我输入了我写的作为索引模板别名的名称,结果是输出:)

Go相关问答推荐

Golang Viper:如果第一个字段不存在,如何从另一个字段获取值

Go中的net.SplitHostPort(r.RemoteAddr)安全性

创建服务时云运行触发器执行失败

日志(log)文件不在 golang 的日志(log)目录中

我无法使用反向代理更改主机标头

Neptune 在连接到启用 IAM 的 Neptune 实例时抛出握手错误错误

也许在 golang 中包(字符串和字符串类型不匹配)

使用 Grafana alert 在几分钟内重复alert

接受通道和切片的通用函数

无法使用 Golang 扫描文件路径

具有两个或多个模型的 GORM 查询

如果 transaction.Commit 对带有 postgres 连接的 SQL 失败,您是否需要调用 transaction.RollBack

如何修改go gin的默认端口?我的 8080 端口正在使用中

Golang模板无法访问embedFS中的文件

合并几千万文件最快的方法是什么

跟踪长时间运行的任务的进度 - 正确的方法

Unescape 在 rss 中两次逃脱了标题

为什么 go.mod 中的所有依赖都是间接的?

递归数据 struct 解组在 Go Lang Protobuf 中给出错误无法解析无效的线格式数据

gob 解码器仅返回数组中的第一个元素