第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

將兩個(gè) gorm 查詢轉(zhuǎn)換為一個(gè)

將兩個(gè) gorm 查詢轉(zhuǎn)換為一個(gè)

Go
慕容3067478 2022-09-26 15:29:52
我有以下模型type Instance struct {    gorm.Model    Name               string `gorm:"index:idx_name_and_group,unique"`    UserID             uint    GroupID            uint `gorm:"index:idx_name_and_group,unique"`    ...}type Group struct {    gorm.Model    Name                 string `gorm:"unique;"`    Instances            []Instance    ...}我正在嘗試按名稱和組名稱獲取實(shí)例。我可以使用以下代碼執(zhí)行此操作func (r instanceRepository) FindByName(groupName string, instanceName string) (*model.Instance, error) {    var instance *model.Instance    var group *model.Group    err := r.db.        First(&group, "name = ?", groupName).Error    if err != nil {        return nil, err    }    err = r.db.        Where("name = ? and group_id = ?", instanceName, group.ID).        First(&instance).Error    return instance, err}但我想把它變成一個(gè)查詢。關(guān)于如何實(shí)現(xiàn)這一目標(biāo)的任何想法?
查看完整描述

1 回答

?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊

您始終可以使用聯(lián)接函數(shù)來執(zhí)行 SQL 聯(lián)接。像這樣:


func (r instanceRepository) FindByName(groupName string, instanceName string) (*model.Instance, error) {

    var instance *model.Instance


    err := r.db.

        Joins("INNER JOIN groups g ON g.id = instances.group_id").

        Where("g.name = ? AND instances.name = ?", groupName, instanceName).

        First(&instance).Error

    if err != nil {

        return nil, err

    }


    return instance, err

}


查看完整回答
反對 回復(fù) 2022-09-26
  • 1 回答
  • 0 關(guān)注
  • 94 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號