Documentation ¶
Overview ¶
Package pagination is useful for simple search and pagination.
func list(c echo.Context) error { q := pagination.Query{ MaxPer: 50, DefaultPer: 20, } c.Bind(&q) cond := "WHERE app_id = $1" qt, qa := q.GetQuery() if qt != "" { cond += " AND (name ILIKE $2 OR message ILIKE $2)" } count := modelPost.MustCount(append([]interface{}{cond, appId}, qa...)...) posts := []models.Post{} sql := cond + " ORDER BY created_at DESC " + q.LimitOffset() modelPost.Find(append([]interface{}{sql, appId}, qa...)...).MustQuery(&posts) return c.JSON(200, struct { Posts []models.Post Pagination pagination.Result }{posts, q.Result(count)}) }
Index ¶
Constants ¶
View Source
const ( DefaultMaxPer = 100 DefaultDefaultPer = 10 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
Click to show internal directories.
Click to hide internal directories.