diff --git a/gorm_models/brand.go b/gorm_models/brand.go index 72fc138..ef2cb92 100644 --- a/gorm_models/brand.go +++ b/gorm_models/brand.go @@ -26,13 +26,11 @@ func FindOrCreateBrand(db *gorm.DB, brand string, categories []Category) Brand { code := slug.Make(brand) - err := db.FirstOrCreate(&brandObject, Brand{Name: brand, Code: code}).Error + 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()) - } else { - db.Model(&brandObject).Association("Categories").Append(categories) } } diff --git a/test/testit.go b/test/testit.go index e01b752..9238137 100644 --- a/test/testit.go +++ b/test/testit.go @@ -161,6 +161,7 @@ func importProduct(product models.Product, db *gorm.DB) { Type: "simple", AttributeFamilyID: families[0].ID, Brand: brand, + Categories: categories, } for _, element := range product.Images { @@ -172,7 +173,7 @@ func importProduct(product models.Product, db *gorm.DB) { iproduct.AttributeFamilyID = families[1].ID } - err := db.Select("Sku", "Type", "AttributeFamilyID", "CreatedAt", "UpdatedAt").Create(&iproduct).Error + err := db.Omit("Categories").Select("Sku", "Type", "AttributeFamilyID", "CreatedAt", "UpdatedAt").Create(&iproduct).Error if err != nil { log.Println(err) @@ -251,6 +252,7 @@ func importProduct(product models.Product, db *gorm.DB) { Brand: iproduct.Brand, AttributeValues: attributes, AttributeFamilyID: iproduct.AttributeFamilyID, + Categories: categories, } for _, element := range colorVariant.Images { @@ -286,6 +288,7 @@ func importProduct(product models.Product, db *gorm.DB) { Brand: iproduct.Brand, AttributeValues: attributes, AttributeFamilyID: iproduct.AttributeFamilyID, + Categories: categories, } for _, element := range colorVariant.Images { @@ -351,6 +354,7 @@ func importProduct(product models.Product, db *gorm.DB) { Brand: iproduct.Brand, AttributeValues: attributes, AttributeFamilyID: iproduct.AttributeFamilyID, + Categories: categories, } // for _, element := range colorVariant.Images { @@ -363,7 +367,7 @@ func importProduct(product models.Product, db *gorm.DB) { } } - db.Create(&productVariants) //todo assign all with categories + db.Omit("Categories").Create(&productVariants) //todo assign all with categories } db.Model(&iproduct).Association("Categories").Append(categories)