model.go
package models
import "github.com/jinzhu/gorm"
import _ "github.com/jinzhu/gorm/dialects/sqlite"
type Email struct {
gorm.Model
Email string
UserID uint
}
// User 拥有并属于多种 Language,使用 `user_languages` 连接表
type User struct {
gorm.Model
Name string
BillingAddress Address
ShippingAddress Address
Emails []Email
Languages []Language `gorm:"many2many:user_languages;"`
}
type Language struct {
gorm.Model
Name string
Users []*User `gorm:"many2many:user_languages;"`
}
type Address struct {
gorm.Model
Address1 string
UserID uint
}
model_test.go
package models
import (
"github.com/jinzhu/gorm"
"testing"
)
import _ "github.com/jinzhu/gorm/dialects/sqlite"
func TestAsso(t *testing