donglue8180 2016-01-10 00:08
浏览 33
已采纳

在Gorm有很多人,真的

I'm trying to use the many-to-many relationship in gorm. However, the example is a partial snippet, and my attempt at creating a similar example snippet is failing.

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)
    }
}

This panics on the last CreateTable call: panic: invalid association []

  • 写回答

1条回答 默认 最新

  • doumo3903 2016-01-10 18:41
    关注

    I think you have to drop the Related-part. CreateTable doesnt need it as far as i can see.

    if err := db.CreateTable(&Machine{}).Error; err != nil {
        panic(err)
    }
    

    Works for me

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度