Golang中国

比如酒店表,引用城市表

希望在酒店表中保存城市表的城市名称(unique),而不是城市Id。

目前在酒店表中定义一个字段

FooCity *FooCity `orm:"rel(fk)"`

定义基于City.Id的外键。

怎么定义基于City.Name的外键呢?

//酒店表
type FooHotel struct {
    Id      int64    `orm:"column(id);pk;auto"`
    FooCity *FooCity `orm:"rel(fk)"`
    Name    string   `form:"Name"  valid:"Required"`
    Address string   `form:"Address"  valid:"Required"`
    Zip     string   `form:"Zip"  valid:"Required"`

    //管控部分
    Status   uint64    `orm:"column(status);default(2)" form:"Status"`
    Creator  *User     `orm:"column(creator);null;rel(fk)"`
    CreateAt time.Time `orm:"column(create_at);type(datetime);auto_now_add"`
    Updater  *User     `orm:"column(updater);null;rel(fk)"`
    UpdateAt time.Time `orm:"column(update_at);type(datetime);null"`
    Message  string    `orm:"column(message);size(255);null"`
}
//城市表
type FooCity struct {
    Id      int64  `orm:"column(id);pk;auto"`
    Name    string `orm:"column(name);unique" form:"Name"  valid:"Required"`
    State   string `form:"State"  valid:"Required"`
    Country string `form:"Country"  valid:"Required"`

    //管控部分
    Status   uint64    `orm:"column(status);default(2)" form:"Status"`
    Creator  *User     `orm:"column(creator);null;rel(fk)"`
    CreateAt time.Time `orm:"column(create_at);type(datetime);auto_now_add"`
    Updater  *User     `orm:"column(updater);null;rel(fk)"`
    UpdateAt time.Time `orm:"column(update_at);type(datetime);null"`
    Message  string    `orm:"column(message);size(255);null"`
}
0 回复
需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。