fix: Omit 'model' and 'model.*' should be same

This commit is contained in:
chenrui 2022-03-07 16:44:47 +08:00
parent b566ed7913
commit 0c968b24a8
2 changed files with 2 additions and 1 deletions

View File

@ -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 == "*" {

View File

@ -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)