model_util.tpl 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package {{PackageName}}
  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) ({{VariableName}} {{StructName}}) {
  9. database.DB.Where("id", idStr).First(&{{VariableName}})
  10. return
  11. }
  12. func GetBy(field, value string) ({{VariableName}} {{StructName}}) {
  13. database.DB.Where("? = ?", field, value).First(&{{VariableName}})
  14. return
  15. }
  16. func All() ({{VariableNamePlural}} []{{StructName}}) {
  17. database.DB.Find(&{{VariableNamePlural}})
  18. return
  19. }
  20. func IsExist(field, value string) bool {
  21. var count int64
  22. database.DB.Model({{StructName}}{}).Where("? = ?", field, value).Count(&count)
  23. return count > 0
  24. }
  25. // Paginate 分页内容
  26. func Paginate(c *gin.Context, pageSize int) ({{VariableNamePlural}} []{{StructName}}, paging paginator.Paging) {
  27. paging = paginator.Paginate(
  28. c,
  29. database.DB.Model({{StructName}}{}),
  30. &{{VariableNamePlural}},
  31. app.V1URL(database.TableName(&{{StructName}}{})),
  32. pageSize,
  33. )
  34. return
  35. }