我有一個News結(jié)構(gòu),我想在descending date order. 但他以通常的方式通過 id 向我顯示它們結(jié)構(gòu):type News struct { Id int `json:"id" gorm:"primary_key, AUTO_INCREMENT"` ... CreatedAt time.Time `json:"created_at"`}功能:func GetAllNews(q *models.News, pagination *models.Pagination) (*[]models.News, error) { var news []models.News offset := (pagination.Page - 1) * pagination.Limit queryBuider := config.DB.Limit(pagination.Limit).Offset(offset).Order(pagination.Sort) result := queryBuider.Model(&models.News{}).Where(q).Order("Id DESC").Find(&news) if result.Error != nil { msg := result.Error return nil, msg } return &news, nil}func GetAllNews_by_page(c *gin.Context) { pagination := GeneratePaginationFromRequest(c) var news models.News prodLists, err := GetAllNews(&news, &pagination) if err != nil { c.JSON(http.StatusBadRequest, err.Error()) return } c.JSON(http.StatusOK, gin.H{ "data": prodLists, })}
1 回答

守候你守候我
TA貢獻(xiàn)1802條經(jīng)驗 獲得超10個贊
來自GORM
文檔,例如
db.Order("age desc, name").Find(&users) // SELECT * FROM users ORDER BY age desc, name;
因此,首先根據(jù)該created_at
列對結(jié)果進(jìn)行排序 -id
如果有兩條具有相同時間戳的記錄,您可以排在第二位(以確保重復(fù)查詢返回一致的結(jié)果):
result := queryBuider.Model(&models.News{}).Where(q).Order("created_at DESC, id DESC").Find(&news)
- 1 回答
- 0 關(guān)注
- 168 瀏覽
添加回答
舉報
0/150
提交
取消