为了账号安全,请及时绑定邮箱和手机立即绑定

go语言xorm问题

go语言xorm问题

隔江千里 2019-03-18 20:52:15
意图,根据条件查询type ReportOrder struct {     Id int64     UserName string `json:"user_name"`     ReportType string `json:"report_type"`     ReportAddress string `json:"report_address"`     ...     WorkerId int64 `json:"worker_id"`}对应的数据,然后循环这个数据,根据WorkerId查询type WorkerList struct {     Id int64     WorkerName string `json:"worker_name"`     WorkerNickName string `json:"worker_nick_name"`     ...     LoginTime string `json:"login_time"`}中对应的一个数据,然后生成这样的数据返回 {            "Id": 23,            "user_name": "路人甲",            "report_type": "1",            "report_address": "上海市行知路",            "report_no": "W1551279888654819700",            "report_start_time": "2019-03-07T14:11:02+08:00",            "report_modification_time": "0001-01-01T00:00:00Z",            "report_phone": "17621953630",            "report_remark": "这是故障描述",            "worker_id": 1,            "worker_list":{                "id":1,                "worker_name":"路人甲"                 ...                 }  }我的代码这样的func (orderSearchData *OrderData) OrderList() (report_order []*ReportOrder, err error) {    result := make([]*ReportOrder, 0)     pageSize,_:=strconv.Atoi(orderSearchData.PageSize)     page,_:=strconv.Atoi(orderSearchData.Page)     errs:=orm.Engine.Where("report_phone > ? or report_no=?",orderSearchData.ReportPhone,orderSearchData.ReportNo).Limit(pageSize,page-1).Find(&result)     worker:= make([]models.WorkerList,0)     for _,val:=range result{         orm.Engine.Table("worker_list").Where("id=?",val.WorkerId).Find(&worker)         //orm.Engine.Where("id=?",val.WorkerId).Find(&worker)     }    fmt.Println(worker)    return result,errs}请问怎么样才能实现上面的需求?
查看完整描述

2 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

怎么会想着用循环做查询呢?应该用where in啊

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 533 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号