func GetHistoryMessages(userid string, friendid string, start int, count int) ([]model.HistoryMessages, error) { var messages []model.HistoryMessages if err := gorm.DB.Where("(send_id = ? AND receive_id = ?) OR (send_id = ? AND receive_id = ?)", userid, friendid, friendid, userid). Order("send_time DESC"). Offset(start). Limit(count). Find(&messages). Error; err != nil { return nil, err } return messages, nil }怎么实现翻页
时间: 2024-02-28 19:52:38 浏览: 84
在上述代码中,翻页的实现主要是通过 `Offset()` 和 `Limit()` 方法来进行的。其中 `Offset()` 方法用于指定从第几条记录开始查询,`Limit()` 方法用于指定查询的记录条数。
假设每页显示10条记录,当前页码为page,那么可以按照以下方式来实现翻页:
```
start := (page - 1) * 10 // 计算起始记录的位置
count := 10 // 每页显示的记录条数
```
然后再调用 `GetHistoryMessages()` 方法时,将计算出的 `start` 和 `count` 作为参数传入即可。例如,获取第2页的记录:
```
messages, err := GetHistoryMessages(userid, friendid, 10, 10)
```
这将返回第11条到第20条记录。如果要获取第3页的记录,可以将 `start` 设置为20,以此类推。
阅读全文