learn.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package models
  2. import (
  3. "errors"
  4. "zhiyuan/pkg/db"
  5. )
  6. type Learn struct {
  7. ID int `json:"id"`
  8. CourseId int `json:"course_id"`
  9. AdminId int `json:"admin_id"`
  10. CoursesIds string `json:"courses_ids"`
  11. CreatedAt int `json:"created_at"`
  12. UpdatedAt int `json:"updated_at"`
  13. }
  14. func (Learn) TableName() string {
  15. return "zy_learn"
  16. }
  17. func (a Learn) GetOne(where map[string]interface{}, fields []string, retVal interface{}) (*Learn, error) {
  18. if retVal == nil {
  19. var learn *Learn
  20. err := db.GetOne(a.TableName(), where, fields, &learn)
  21. return learn, err
  22. } else {
  23. err := db.GetOne(a.TableName(), where, fields, retVal)
  24. return nil, err
  25. }
  26. }
  27. func (a Learn) GetMulti(where map[string]interface{}, fields []string, retVal interface{}) ([]*Learn, error) {
  28. if retVal == nil {
  29. var learn []*Learn
  30. err := db.GetMulti(a.TableName(), where, fields, &learn)
  31. return learn, err
  32. } else {
  33. err := db.GetMulti(a.TableName(), where, fields, retVal)
  34. return nil, err
  35. }
  36. }
  37. func (a Learn) GetOneRaw(where map[string]string, param map[string]interface{}, retVal interface{}) (*Learn, error) {
  38. learn, err := a.GetMultiRaw(where, param, retVal)
  39. if err != nil {
  40. return nil, err
  41. }
  42. if len(learn) == 0 {
  43. return nil, errors.New("empty record2")
  44. }
  45. return learn[0], nil
  46. }
  47. func (a Learn) GetMultiRaw(where map[string]string, param map[string]interface{}, retVal interface{}) ([]*Learn, error) {
  48. field := "SELECT * FROM zy_learn "
  49. if retVal == nil {
  50. var learn []*Learn
  51. err := db.GetMultiRaw(field, where, param, &learn)
  52. return learn, err
  53. } else {
  54. err := db.GetMultiRaw(field, where, param, retVal)
  55. return nil, err
  56. }
  57. }