在goframe框架中,logic查询user表的id和name字段,返回给控制器。控制器输出以下结果: [ { "id": 605, "text": "盾网-" }, { "id": 605, "text": "盾网-" }] 根据上面的要求,补全下方代码 logic文件: func (s *sMember) GetList(ctx context.Context) (out *model.UsersGetListOutput, err error) { var ( m = dao.Users.Ctx(ctx) ) out = &model.UsersGetListOutput{} listModel := m.Fields("id, real_name text") // 补全代码 return } controller文件: func (c *Controller) Member(ctx context.Context, req *common.MemberReq) (res *common.MemberRes, err error) { getListRes, err := service.Member().GetList(ctx) if err != nil { return nil, err } // 补全代码 return } 需要把结构体也定义下
时间: 2024-01-06 09:04:34 浏览: 144
thinkPHP查询方式小结
logic文件:
```go
func (s *sMember) GetList(ctx context.Context) (out *model.UsersGetListOutput, err error) {
var (
m = dao.Users.Ctx(ctx)
)
out = &model.UsersGetListOutput{}
listModel := m.Fields("id, real_name text")
err = listModel.Structs(&out.List)
if err != nil {
return nil, err
}
return out, nil
}
```
model文件:
```go
type UsersGetListOutput struct {
List []UserList `json:"list"`
}
type UserList struct {
Id int64 `json:"id"`
Text string `json:"text"`
}
```
controller文件:
```go
func (c *Controller) Member(ctx context.Context, req *common.MemberReq) (res *common.MemberRes, err error) {
getListRes, err := service.Member().GetList(ctx)
if err != nil {
return nil, err
}
res = &common.MemberRes{}
for _, item := range getListRes.List {
res.List = append(res.List, common.MemberResItem{
Id: item.Id,
Text: item.Text,
})
}
return res, nil
}
```
common文件:
```go
type MemberRes struct {
List []MemberResItem `json:"list"`
}
type MemberResItem struct {
Id int64 `json:"id"`
Text string `json:"text"`
}
```
阅读全文