package gorm_models import ( "log" "time" "github.com/gosimple/slug" "gorm.io/gorm" ) type Brand struct { ID uint `gorm:"primary_key"` CreatedAt time.Time UpdatedAt time.Time Name string Code string Status bool Categories []Category `gorm:"many2many:category_brands;"` } func FindOrCreateBrand(db *gorm.DB, brand string, categories []Category) Brand { var brandObject Brand if brand != "" { code := slug.Make(brand) err := db.Omit("Categories").FirstOrCreate(&brandObject, Brand{Name: brand, Code: code, Categories: categories}).Error // err := db.Model(&Brand{}).Find(&brandObject).Error if err != nil { log.Println(err.Error()) } } // var brandObject Brand return brandObject }