我知道这是非常基本的,但我认为 [beego 网站][1] 上的官方文档[1]:http : //beego.me/docs/mvc/model/query.md没有给出明确的方向。我使用 beego 框架制作了一个 RESTful API。正如它所承诺的那样,它为我的应用程序生成基本的 CRUD 代码。问题是 READ 方法不返回所有数据。我所说的所有数据是指表中的数据,包括与其相关的所有表中的数据。这是生成的代码的输出(我使用 swagger 来调用它):{ "data": [ { "Id": 1, "CustomerId": { "Id": 2, "Name": "", "Phone": "", "Email": "", "CreatedAt": "0001-01-01T00:00:00Z", "UpdatedAt": "0001-01-01T00:00:00Z" }, "Saldo": 2500000, "CreatedAt": "2014-12-10T08:10:10+07:00", "UpdatedAt": "2014-12-10T08:10:10+07:00" } ], "totals": 1}看,它不返回姓名、电话和电子邮件。所以我查看了文档并找到了这个方法 RelatedSel() 但我仍然不知道如何正确使用它。这是我的代码:func GetAllCustomerSaldo(query map[string]string, fields []string, sortby []string, order []string, offset int64, limit int64) (ml []interface{}, err error, totals int64) { o := orm.NewOrm() qs := o.QueryTable(new(CustomerSaldo)) qs.RelatedSel("CustomerId__Customers").All(&CustomerSaldo{})...在尝试了许多参数可能性后,我仍然收到此错误:Handler crashed with error unknown model/table name `Customers`这里有人和我有同样的问题吗?任何解决方案吗?
2 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
在RelatedSel 之后不需要LoadRelated - 因为RelatedSel 会在一个请求中自动获取数据到db(当然如果正确使用的话)。LoadRelated - 做同样的事情,但在额外的请求中。当您使用 RelatedSel 时,以及在该 LoadRelated 之后 - 您将做两次事情。
orm.Debug = true
o := orm.NewOrm()
qs := o.QueryTable(&models.MainModel{})
var req []*models.RelatedModel
num, err := qs.RelatedSel().All(&req)
beego.Debug(num)
if err != nil {
beego.Error(err)
}
- 2 回答
- 0 关注
- 765 浏览
添加回答
举报
0/150
提交
取消