### Code
```go
r := gin.Default()
r.GET("/api/v1/get", func(ctx *gin.Context) {
var query model.User
ctx.ShouldBind(&query)
fmt.Println(query)
// result := db.Get(&query)
ctx.JSON(http.StatusOK, gin.H{
"data": query,
})
})
r.Run(":80")
```
#### 可以解析出关联结构体中的`Product`字段
```go
type User struct{
Name string
Password string
Orders Order
}
type Order struct{
Product string
UserID uint
}
```
结果:
```json
{
"data": {
"Name": "jackson",
"Orders": {
"Product": "fish",
"UserID": 0
}
}
}
```
#### 但是想通过`gorm`实现`has many`写法应如下,但是这种写法用`Shouldbind`方法就不能绑定到`Order.Product`。
```go
type User struct{
Name string
Password string
Orders []Order
}
type Order struct{
Product string
UserID uint
}
```
结果:
```json
{
"data": {
"Name": "jackson",
"Orders": null
}
}
```
请指点一种便捷高效的查询方法,当前端传入任意数据,只要匹配设计表中字段(如User或Order中任意字段)则返回所有关联的表数据。练手写项目折腾好几天了,希望能够得到有效答案,感激不尽!
有疑问加站长微信联系(非本文作者)