Add more tests for TestHasOne
This commit is contained in:
		
							parent
							
								
									9ed070d386
								
							
						
					
					
						commit
						c88960b9b0
					
				@ -229,7 +229,8 @@ func (association *Association) Delete(values ...interface{}) *Association {
 | 
				
			|||||||
			)
 | 
								)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// set matched relation's foreign key to be null
 | 
								// set matched relation's foreign key to be null
 | 
				
			||||||
			newDB.Model(association.Field.Field.Interface()).UpdateColumn(foreignKeyMap)
 | 
								fieldValue := reflect.New(association.Field.Field.Type()).Interface()
 | 
				
			||||||
 | 
								newDB.Model(fieldValue).UpdateColumn(foreignKeyMap)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -110,6 +110,96 @@ func TestBelongsTo(t *testing.T) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestHasOne(t *testing.T) {
 | 
				
			||||||
 | 
						user := User{
 | 
				
			||||||
 | 
							Name:       "has one",
 | 
				
			||||||
 | 
							CreditCard: CreditCard{Number: "411111111111"},
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err := DB.Save(&user).Error; err != nil {
 | 
				
			||||||
 | 
							t.Errorf("Got errors when save user", err.Error())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if user.CreditCard.UserId.Int64 == 0 {
 | 
				
			||||||
 | 
							t.Errorf("CreditCard's foreign key should be updated")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Query
 | 
				
			||||||
 | 
						var creditCard1 CreditCard
 | 
				
			||||||
 | 
						DB.Model(&user).Related(&creditCard1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if creditCard1.Number != "411111111111" {
 | 
				
			||||||
 | 
							t.Errorf("Query has one relations with Related")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var creditCard11 CreditCard
 | 
				
			||||||
 | 
						DB.Model(&user).Association("CreditCard").Find(&creditCard11)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if creditCard11.Number != "411111111111" {
 | 
				
			||||||
 | 
							t.Errorf("Query has one relations with Related")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Append
 | 
				
			||||||
 | 
						var creditcard2 = CreditCard{
 | 
				
			||||||
 | 
							Number: "411111111112",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						DB.Model(&user).Association("CreditCard").Append(&creditcard2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if creditcard2.ID == 0 {
 | 
				
			||||||
 | 
							t.Errorf("Creditcard should has ID when created with Append")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var creditcard21 CreditCard
 | 
				
			||||||
 | 
						DB.Model(&user).Related(&creditcard21)
 | 
				
			||||||
 | 
						if creditcard21.Number != "411111111112" {
 | 
				
			||||||
 | 
							t.Errorf("CreditCard should be updated with Append")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Replace
 | 
				
			||||||
 | 
						var creditcard3 = CreditCard{
 | 
				
			||||||
 | 
							Number: "411111111113",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						DB.Model(&user).Association("CreditCard").Replace(&creditcard3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if creditcard3.ID == 0 {
 | 
				
			||||||
 | 
							t.Errorf("Creditcard should has ID when created with Replace")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var creditcard31 CreditCard
 | 
				
			||||||
 | 
						DB.Model(&user).Related(&creditcard31)
 | 
				
			||||||
 | 
						if creditcard31.Number != "411111111113" {
 | 
				
			||||||
 | 
							t.Errorf("CreditCard should be updated with Replace")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Delete
 | 
				
			||||||
 | 
						DB.Model(&user).Association("CreditCard").Delete(&creditcard2)
 | 
				
			||||||
 | 
						var creditcard4 CreditCard
 | 
				
			||||||
 | 
						DB.Model(&user).Related(&creditcard4)
 | 
				
			||||||
 | 
						if creditcard4.Number != "411111111113" {
 | 
				
			||||||
 | 
							t.Errorf("Should not delete credit card when Delete a unrelated CreditCard")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						DB.Model(&user).Association("CreditCard").Delete(&creditcard3)
 | 
				
			||||||
 | 
						if !DB.Model(&user).Related(&CreditCard{}).RecordNotFound() {
 | 
				
			||||||
 | 
							t.Errorf("Should delete credit card with Delete")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Clear
 | 
				
			||||||
 | 
						var creditcard5 = CreditCard{
 | 
				
			||||||
 | 
							Number: "411111111115",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						DB.Model(&user).Association("CreditCard").Append(&creditcard5)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if DB.Model(&user).Related(&CreditCard{}).RecordNotFound() {
 | 
				
			||||||
 | 
							t.Errorf("Should added credit card with Append")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						DB.Model(&user).Association("CreditCard").Clear()
 | 
				
			||||||
 | 
						if !DB.Model(&user).Related(&CreditCard{}).RecordNotFound() {
 | 
				
			||||||
 | 
							t.Errorf("Credit card should be deleted with Clear")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestHasMany(t *testing.T) {
 | 
					func TestHasMany(t *testing.T) {
 | 
				
			||||||
	post := Post{
 | 
						post := Post{
 | 
				
			||||||
		Title:    "post has many",
 | 
							Title:    "post has many",
 | 
				
			||||||
@ -207,155 +297,6 @@ func TestHasMany(t *testing.T) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestHasOne(t *testing.T) {
 | 
					 | 
				
			||||||
	user := User{
 | 
					 | 
				
			||||||
		Name:       "has one",
 | 
					 | 
				
			||||||
		CreditCard: CreditCard{Number: "411111111111"},
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if err := DB.Save(&user).Error; err != nil {
 | 
					 | 
				
			||||||
		t.Errorf("Got errors when save user", err.Error())
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if user.CreditCard.UserId.Int64 == 0 {
 | 
					 | 
				
			||||||
		t.Errorf("CreditCard's foreign key should be updated")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Query
 | 
					 | 
				
			||||||
	var creditCard1 CreditCard
 | 
					 | 
				
			||||||
	DB.Model(&user).Related(&creditCard1)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if creditCard1.Number != "411111111111" {
 | 
					 | 
				
			||||||
		t.Errorf("Query has one relations with Related")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var creditCard11 CreditCard
 | 
					 | 
				
			||||||
	DB.Model(&user).Association("CreditCard").Find(&creditCard11)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if creditCard11.Number != "411111111111" {
 | 
					 | 
				
			||||||
		t.Errorf("Query has one relations with Related")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Append
 | 
					 | 
				
			||||||
	var creditcard2 = CreditCard{
 | 
					 | 
				
			||||||
		Number: "411111111112",
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	DB.Model(&user).Association("CreditCard").Append(&creditcard2)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if creditcard2.ID == 0 {
 | 
					 | 
				
			||||||
		t.Errorf("Creditcard should has ID when created with Append")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var creditcard21 CreditCard
 | 
					 | 
				
			||||||
	DB.Model(&user).Related(&creditcard21)
 | 
					 | 
				
			||||||
	if creditcard21.Number != "411111111112" {
 | 
					 | 
				
			||||||
		t.Errorf("CreditCard should be updated with Append")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Replace
 | 
					 | 
				
			||||||
	var creditcard3 = CreditCard{
 | 
					 | 
				
			||||||
		Number: "411111111113",
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	DB.Model(&user).Association("CreditCard").Replace(&creditcard3)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if creditcard3.ID == 0 {
 | 
					 | 
				
			||||||
		t.Errorf("Creditcard should has ID when created with Replace")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var creditcard31 CreditCard
 | 
					 | 
				
			||||||
	DB.Model(&user).Related(&creditcard31)
 | 
					 | 
				
			||||||
	if creditcard31.Number != "411111111113" {
 | 
					 | 
				
			||||||
		t.Errorf("CreditCard should be updated with Replace")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Delete
 | 
					 | 
				
			||||||
	// Clear
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func TestRelated(t *testing.T) {
 | 
					 | 
				
			||||||
	user := User{
 | 
					 | 
				
			||||||
		Name:            "jinzhu",
 | 
					 | 
				
			||||||
		BillingAddress:  Address{Address1: "Billing Address - Address 1"},
 | 
					 | 
				
			||||||
		ShippingAddress: Address{Address1: "Shipping Address - Address 1"},
 | 
					 | 
				
			||||||
		Emails:          []Email{{Email: "jinzhu@example.com"}, {Email: "jinzhu-2@example@example.com"}},
 | 
					 | 
				
			||||||
		CreditCard:      CreditCard{Number: "1234567890"},
 | 
					 | 
				
			||||||
		Company:         Company{Name: "company1"},
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	DB.Save(&user)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if user.CreditCard.ID == 0 {
 | 
					 | 
				
			||||||
		t.Errorf("After user save, credit card should have id")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if user.BillingAddress.ID == 0 {
 | 
					 | 
				
			||||||
		t.Errorf("After user save, billing address should have id")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if user.Emails[0].Id == 0 {
 | 
					 | 
				
			||||||
		t.Errorf("After user save, billing address should have id")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var emails []Email
 | 
					 | 
				
			||||||
	DB.Model(&user).Related(&emails)
 | 
					 | 
				
			||||||
	if len(emails) != 2 {
 | 
					 | 
				
			||||||
		t.Errorf("Should have two emails")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var emails2 []Email
 | 
					 | 
				
			||||||
	DB.Model(&user).Where("email = ?", "jinzhu@example.com").Related(&emails2)
 | 
					 | 
				
			||||||
	if len(emails2) != 1 {
 | 
					 | 
				
			||||||
		t.Errorf("Should have two emails")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var emails3 []*Email
 | 
					 | 
				
			||||||
	DB.Model(&user).Related(&emails3)
 | 
					 | 
				
			||||||
	if len(emails3) != 2 {
 | 
					 | 
				
			||||||
		t.Errorf("Should have two emails")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var user1 User
 | 
					 | 
				
			||||||
	DB.Model(&user).Related(&user1.Emails)
 | 
					 | 
				
			||||||
	if len(user1.Emails) != 2 {
 | 
					 | 
				
			||||||
		t.Errorf("Should have only one email match related condition")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var address1 Address
 | 
					 | 
				
			||||||
	DB.Model(&user).Related(&address1, "BillingAddressId")
 | 
					 | 
				
			||||||
	if address1.Address1 != "Billing Address - Address 1" {
 | 
					 | 
				
			||||||
		t.Errorf("Should get billing address from user correctly")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	user1 = User{}
 | 
					 | 
				
			||||||
	DB.Model(&address1).Related(&user1, "BillingAddressId")
 | 
					 | 
				
			||||||
	if DB.NewRecord(user1) {
 | 
					 | 
				
			||||||
		t.Errorf("Should get user from address correctly")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var user2 User
 | 
					 | 
				
			||||||
	DB.Model(&emails[0]).Related(&user2)
 | 
					 | 
				
			||||||
	if user2.Id != user.Id || user2.Name != user.Name {
 | 
					 | 
				
			||||||
		t.Errorf("Should get user from email correctly")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var creditcard CreditCard
 | 
					 | 
				
			||||||
	var user3 User
 | 
					 | 
				
			||||||
	DB.First(&creditcard, "number = ?", "1234567890")
 | 
					 | 
				
			||||||
	DB.Model(&creditcard).Related(&user3)
 | 
					 | 
				
			||||||
	if user3.Id != user.Id || user3.Name != user.Name {
 | 
					 | 
				
			||||||
		t.Errorf("Should get user from credit card correctly")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if !DB.Model(&CreditCard{}).Related(&User{}).RecordNotFound() {
 | 
					 | 
				
			||||||
		t.Errorf("RecordNotFound for Related")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	var company Company
 | 
					 | 
				
			||||||
	if DB.Model(&user).Related(&company, "Company").RecordNotFound() || company.Name != "company1" {
 | 
					 | 
				
			||||||
		t.Errorf("RecordNotFound for Related")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func TestManyToMany(t *testing.T) {
 | 
					func TestManyToMany(t *testing.T) {
 | 
				
			||||||
	DB.Raw("delete from languages")
 | 
						DB.Raw("delete from languages")
 | 
				
			||||||
	var languages = []Language{{Name: "ZH"}, {Name: "EN"}}
 | 
						var languages = []Language{{Name: "ZH"}, {Name: "EN"}}
 | 
				
			||||||
@ -454,6 +395,90 @@ func TestManyToMany(t *testing.T) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestRelated(t *testing.T) {
 | 
				
			||||||
 | 
						user := User{
 | 
				
			||||||
 | 
							Name:            "jinzhu",
 | 
				
			||||||
 | 
							BillingAddress:  Address{Address1: "Billing Address - Address 1"},
 | 
				
			||||||
 | 
							ShippingAddress: Address{Address1: "Shipping Address - Address 1"},
 | 
				
			||||||
 | 
							Emails:          []Email{{Email: "jinzhu@example.com"}, {Email: "jinzhu-2@example@example.com"}},
 | 
				
			||||||
 | 
							CreditCard:      CreditCard{Number: "1234567890"},
 | 
				
			||||||
 | 
							Company:         Company{Name: "company1"},
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						DB.Save(&user)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if user.CreditCard.ID == 0 {
 | 
				
			||||||
 | 
							t.Errorf("After user save, credit card should have id")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if user.BillingAddress.ID == 0 {
 | 
				
			||||||
 | 
							t.Errorf("After user save, billing address should have id")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if user.Emails[0].Id == 0 {
 | 
				
			||||||
 | 
							t.Errorf("After user save, billing address should have id")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var emails []Email
 | 
				
			||||||
 | 
						DB.Model(&user).Related(&emails)
 | 
				
			||||||
 | 
						if len(emails) != 2 {
 | 
				
			||||||
 | 
							t.Errorf("Should have two emails")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var emails2 []Email
 | 
				
			||||||
 | 
						DB.Model(&user).Where("email = ?", "jinzhu@example.com").Related(&emails2)
 | 
				
			||||||
 | 
						if len(emails2) != 1 {
 | 
				
			||||||
 | 
							t.Errorf("Should have two emails")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var emails3 []*Email
 | 
				
			||||||
 | 
						DB.Model(&user).Related(&emails3)
 | 
				
			||||||
 | 
						if len(emails3) != 2 {
 | 
				
			||||||
 | 
							t.Errorf("Should have two emails")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var user1 User
 | 
				
			||||||
 | 
						DB.Model(&user).Related(&user1.Emails)
 | 
				
			||||||
 | 
						if len(user1.Emails) != 2 {
 | 
				
			||||||
 | 
							t.Errorf("Should have only one email match related condition")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var address1 Address
 | 
				
			||||||
 | 
						DB.Model(&user).Related(&address1, "BillingAddressId")
 | 
				
			||||||
 | 
						if address1.Address1 != "Billing Address - Address 1" {
 | 
				
			||||||
 | 
							t.Errorf("Should get billing address from user correctly")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						user1 = User{}
 | 
				
			||||||
 | 
						DB.Model(&address1).Related(&user1, "BillingAddressId")
 | 
				
			||||||
 | 
						if DB.NewRecord(user1) {
 | 
				
			||||||
 | 
							t.Errorf("Should get user from address correctly")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var user2 User
 | 
				
			||||||
 | 
						DB.Model(&emails[0]).Related(&user2)
 | 
				
			||||||
 | 
						if user2.Id != user.Id || user2.Name != user.Name {
 | 
				
			||||||
 | 
							t.Errorf("Should get user from email correctly")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var creditcard CreditCard
 | 
				
			||||||
 | 
						var user3 User
 | 
				
			||||||
 | 
						DB.First(&creditcard, "number = ?", "1234567890")
 | 
				
			||||||
 | 
						DB.Model(&creditcard).Related(&user3)
 | 
				
			||||||
 | 
						if user3.Id != user.Id || user3.Name != user.Name {
 | 
				
			||||||
 | 
							t.Errorf("Should get user from credit card correctly")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if !DB.Model(&CreditCard{}).Related(&User{}).RecordNotFound() {
 | 
				
			||||||
 | 
							t.Errorf("RecordNotFound for Related")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var company Company
 | 
				
			||||||
 | 
						if DB.Model(&user).Related(&company, "Company").RecordNotFound() || company.Name != "company1" {
 | 
				
			||||||
 | 
							t.Errorf("RecordNotFound for Related")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestForeignKey(t *testing.T) {
 | 
					func TestForeignKey(t *testing.T) {
 | 
				
			||||||
	for _, structField := range DB.NewScope(&User{}).GetStructFields() {
 | 
						for _, structField := range DB.NewScope(&User{}).GetStructFields() {
 | 
				
			||||||
		for _, foreignKey := range []string{"BillingAddressID", "ShippingAddressId", "CompanyID"} {
 | 
							for _, foreignKey := range []string{"BillingAddressID", "ShippingAddressId", "CompanyID"} {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user