From 0c968b24a8e786927f0b3591af670ad89f860e2f Mon Sep 17 00:00:00 2001 From: chenrui Date: Mon, 7 Mar 2022 16:44:47 +0800 Subject: [PATCH] fix: Omit 'model' and 'model.*' should be same --- statement.go | 1 + tests/create_test.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/statement.go b/statement.go index cb471776..681d255c 100644 --- a/statement.go +++ b/statement.go @@ -674,6 +674,7 @@ func (stmt *Statement) SelectAndOmitColumns(requireCreate, requireUpdate bool) ( // omit columns for _, omit := range stmt.Omits { + omit = strings.TrimSuffix(omit, ".*") if stmt.Schema == nil { results[omit] = false } else if omit == "*" { diff --git a/tests/create_test.go b/tests/create_test.go index 2b23d440..d074b724 100644 --- a/tests/create_test.go +++ b/tests/create_test.go @@ -446,7 +446,7 @@ func TestSelectWithCreate(t *testing.T) { func TestOmitWithCreate(t *testing.T) { user := *GetUser("omit_create", Config{Account: true, Pets: 3, Toys: 3, Company: true, Manager: true, Team: 3, Languages: 3, Friends: 4}) - DB.Omit("Account", "Toys", "Manager", "Birthday").Create(&user) + DB.Omit("Account.*", "Toys", "Manager", "Birthday").Create(&user) var result User DB.Preload("Account").Preload("Pets").Preload("Toys").Preload("Company").Preload("Manager").Preload("Team").Preload("Languages").Preload("Friends").First(&result, user.ID)