topic_util.go 876 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package topic
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/runningwater/gohub/pkg/app"
  5. "github.com/runningwater/gohub/pkg/database"
  6. "github.com/runningwater/gohub/pkg/paginator"
  7. )
  8. func Get(idStr string) (topic Topic) {
  9. database.DB.Where("id", idStr).First(&topic)
  10. return
  11. }
  12. func GetBy(field, value string) (topic Topic) {
  13. database.DB.Where("? = ?", field, value).First(&topic)
  14. return
  15. }
  16. func All() (topics []Topic) {
  17. database.DB.Find(&topics)
  18. return
  19. }
  20. func IsExist(field, value string) bool {
  21. var count int64
  22. database.DB.Model(Topic{}).Where("? = ?", field, value).Count(&count)
  23. return count > 0
  24. }
  25. // Paginate 分页内容
  26. func Paginate(c *gin.Context, pageSize int) (topics []Topic, paging paginator.Paging) {
  27. paging = paginator.Paginate(
  28. c,
  29. database.DB.Model(Topic{}),
  30. &topics,
  31. app.V1URL(database.TableName(&Topic{})),
  32. pageSize,
  33. )
  34. return
  35. }