package models import ( "time" "fmt" "github.com/jinzhu/gorm" u "gocommunity.ru/workshop/internal/utils" ) type WorkHistory struct { gorm.Model ClientId int `json:"client_id"` Vehicle Vehicle `json:"vehicle"` Service Service `json:"service"` EmployeeId int `json:"employee_id"` IsFinished bool `json:"is_finished"` } func (workHistory *WorkHistory) CreateWorkHistory() map[string]interface{} { GetDB().Create(workHistory) resp := u.Message(true, "success") resp["workHistory"] = workHistory return resp } func (workHistory *WorkHistory) GetHistoryByDateAndEmployeeId(start time.Time, finish time.Time, employeeId int) []*WorkHistory { workHistorySlice := make([]*WorkHistory, 0) err := GetDB().Table("work_histories"). Where("employee_id = ? and created_at <= ? and updated_at <= ?", employeeId, start, finish). Preload("client"). Preload("vehicle"). Preload("service"). Find(&workHistorySlice).Error if err != nil { fmt.Println(err) return nil } return workHistorySlice }