From 8fcc8d68d295ed80a42c4862f0591cd187df38b7 Mon Sep 17 00:00:00 2001 From: lishihai <dslsh@dscom> Date: 星期三, 19 六月 2024 14:26:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/jialian' into jialian --- models/attribute.go | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/models/attribute.go b/models/attribute.go index 19fc906..31e6d90 100644 --- a/models/attribute.go +++ b/models/attribute.go @@ -57,6 +57,17 @@ return nil } +func (slf *Attribute) BeforeUpdate(tx *gorm.DB) (err error) { + if len(slf.SelectValues) != 0 { + bts, err := json.Marshal(slf.SelectValues) + if err != nil { + return err + } + slf.SelectValue = string(bts) + } + return nil +} + func (slf *Attribute) AfterFind(tx *gorm.DB) (err error) { if slf.SelectValue != "" { var list []string @@ -97,6 +108,10 @@ slf.Name = name return slf } +func (slf *AttributeSearch) SetEntityType(entityType EntityType) *AttributeSearch { + slf.EntityType = entityType + return slf +} func (slf *AttributeSearch) build() *gorm.DB { var db = slf.Orm.Table(slf.TableName()) @@ -108,6 +123,9 @@ if slf.Order != "" { db = db.Order(slf.Order) } + if slf.EntityType != 0 { + db = db.Where("entity_type = ?", slf.EntityType) + } if slf.Name != "" { db = db.Where("name = ?", slf.Name) -- Gitblit v1.8.0