beego的表关系怎么设置

用户User
用户定单Order

想要实现
一个用户可以有N个订单,每个定单只能有一个用户

模型

type User struct {
    Id    int64
    Name    string
    Order    []*Order    `orm:"reverse(many)"`
}

type Order struct {
    Id    int64
    User    *User    `orm:"rel(fk)"`
    CreatedAt    time.Time
}

数据表:
user

id name
1 test
2 testbbbb

order

id user_id(外键) created_at
1 1 2018-12-20 10:36:47
2 1 2018-12-20 10:38:09
3 1 2018-12-20 10:40:12
4 2 2018-12-20 10:47:52

按照上面设置
获取定单数据:

{
    "Id":1,
    "CreatedAt":"2018-12-20T10:36:47+08:00",
    "User":{
        "Id":1,
        "Name":"test",
        "Order":null
    }
}

获取用户数据,然而,获取到Order的值是null。假如要获取某个用户获取的所有订单,是不是要通过业务逻辑处理?

{
    "Id":1,
    "Name":"test",
    "Order":null
}

初始接触beego,文档看得我一脸懵逼!求指点!!

阅读 1.9k
1 个回答
type User struct {
    Id    int64
    Name    string
}

type Order struct {
    Id    int64
    User    *User `orm:"rel(fk)"`
    CreatedAt    time.Time
}

查询的时候加上用户条件就行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题