我需要cat_id在请求中接受多个值,例如:
localhost:8080/products/?cat_id=1,2
我的功能:
func GenerateMultiParams(c *gin.Context) models.Params {
limit := 0
page := 1
cat_id := 1
query := c.Request.URL.Query()
for key, value := range query {
queryValue := value[len(value)-1]
switch key {
case "limit":
limit, _ = strconv.Atoi(queryValue)
case "page":
page, _ = strconv.Atoi(queryValue)
case "cat_id":
cat_id, _ = strconv.Atoi(queryValue)
}
}
return models.Params{
Limit: limit,
Page: page,
Cat_id: []cat_id,
}
}
我的结构:
type Params struct {
Limit int `json:"limit"`
Page int `json:"page"`
Cat_id []int `json:"cat_id"`
}
在我的函数中请求:
result := config.DB.Model(&models.Products{}).Where(q).Where("cat_id=?", pagination.Cat_id).Limit(pagination.Limit).Offset(offset).Find(&prod)
我在网上看了很多文章,但没有一条建议对我有帮助。
UYOU
相关分类