gorm beforeDelete не может получить значения структуры - PullRequest
0 голосов
/ 08 апреля 2020
func (e *Evaluation) AfterCreate(tx *gorm.DB) (err error) {
    fmt.Print("%v\n", e)
    err = tx.Model(&Course{}).Where("course_id = ?", e.CourseID).Update("eva_count", gorm.Expr("eva_count + ?", 1)).Error
    return
}

func (e *Evaluation) BeforeDelete(tx *gorm.DB) (err error) {
    fmt.Printf("%v\n", e)
    err = tx.Model(&Course{}).Where("course_id = ?", e.CourseID).Update("eva_count", gorm.Expr("eva_count + ?", 1)).Error
    return
}

DeleteEvaluation удалить запись оценки

func (s *EvaluationService) DeleteEvaluation(id string) (err error) {
    err = s.DB.
        Where("id = ?", id).
        Delete(&models.Evaluation{}).
        Error
    return
}

в AfterCreate будет отображаться

&{{c19670cd-6b0c-4766-965d-79476d8aabc0 2020-04-09 00:54:03.072962 +0800 CST m=+107.508499332} 0081A004 9ca228df-08f8-4721-a80e-d8efd3f3194e 0081A004 5 0081A00

, но в BeforeDelete я не могу получить значение оценки

&{{00000000-0000-0000-0000-000000000000 0001-01-01 00:00:00 +0000 UTC}  00000000-0000-0000-0000-000000000000  0  false}
...