當前位置: 首頁>>代碼示例>>Golang>>正文


Golang gorm.Scope類代碼示例

本文整理匯總了Golang中github.com/jinzhu/gorm.Scope的典型用法代碼示例。如果您正苦於以下問題:Golang Scope類的具體用法?Golang Scope怎麽用?Golang Scope使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Scope類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: isLocalizable

func isLocalizable(scope *gorm.Scope) (isLocalizable bool) {
	if scope.GetModelStruct().ModelType == nil {
		return false
	}
	_, isLocalizable = reflect.New(scope.GetModelStruct().ModelType).Interface().(l10nInterface)
	return
}
開發者ID:nilslice,項目名稱:qor,代碼行數:7,代碼來源:scope.go

示例2: PrimaryField

// PrimaryField return gorm's primary field
func (res *Resource) PrimaryField() *gorm.Field {
	if res.primaryField == nil {
		scope := gorm.Scope{Value: res.Value}
		res.primaryField = scope.PrimaryField()
	}
	return res.primaryField
}
開發者ID:caizengjun,項目名稱:qor,代碼行數:8,代碼來源:resource.go

示例3: assignCreatedBy

func assignCreatedBy(scope *gorm.Scope) {
	if isAuditable(scope) {
		if user, ok := getCurrentUser(scope); ok {
			scope.SetColumn("CreatedBy", user)
		}
	}
}
開發者ID:8legd,項目名稱:qor-qor,代碼行數:7,代碼來源:callbacks.go

示例4: updateTimeStampWhenCreate

func updateTimeStampWhenCreate(scope *gorm.Scope) {
	if !scope.HasError() {
		now := time.Now()
		scope.SetColumn("Created", now)
		scope.SetColumn("Updated", now)
	}
}
開發者ID:thnguyn2,項目名稱:WebGPU,代碼行數:7,代碼來源:models.go

示例5: syncToProductionAfterDelete

func syncToProductionAfterDelete(scope *gorm.Scope) {
	if !scope.HasError() {
		if ok, clone := getModeAndNewScope(scope); ok {
			gorm.Delete(clone)
		}
	}
}
開發者ID:JosephBuchma,項目名稱:qor,代碼行數:7,代碼來源:callbacks.go

示例6: beforeDelete

func beforeDelete(scope *gorm.Scope) {
	if isLocalizable(scope) {
		if locale, ok := getLocale(scope); ok { // is locale
			scope.Search.Where(fmt.Sprintf("%v.language_code = ?", scope.QuotedTableName()), locale)
		}
	}
}
開發者ID:tomi-,項目名稱:qor,代碼行數:7,代碼來源:callbacks.go

示例7: setLocale

func setLocale(scope *gorm.Scope, locale string) {
	for _, field := range scope.Fields() {
		if field.Name == "LanguageCode" {
			field.Set(locale)
		}
	}
}
開發者ID:nilslice,項目名稱:qor,代碼行數:7,代碼來源:scope.go

示例8: syncDeleteFromProductionToDraft

func syncDeleteFromProductionToDraft(scope *gorm.Scope) {
	if !scope.HasError() {
		if ok, clone := isProductionModeAndNewScope(scope); ok {
			scope.DB().Callback().Delete().Get("gorm:delete")(clone)
		}
	}
}
開發者ID:qor,項目名稱:publish,代碼行數:7,代碼來源:callbacks.go

示例9: syncDeleteFromProductionToDraft

func syncDeleteFromProductionToDraft(scope *gorm.Scope) {
	if !scope.HasError() {
		if ok, clone := isProductionModeAndNewScope(scope); ok {
			gorm.Delete(clone)
		}
	}
}
開發者ID:8legd,項目名稱:qor-qor,代碼行數:7,代碼來源:callbacks.go

示例10: isDraftMode

func isDraftMode(scope *gorm.Scope) bool {
	if draftMode, ok := scope.Get("publish:draft_mode"); ok {
		if isDraft, ok := draftMode.(bool); ok && isDraft {
			return true
		}
	}
	return false
}
開發者ID:kennylixi,項目名稱:qor,代碼行數:8,代碼來源:callbacks.go

示例11: getLocale

func getLocale(scope *gorm.Scope) (locale string, ok bool) {
	if str, ok := scope.DB().Get("l10n:locale"); ok {
		if locale, ok := str.(string); ok {
			return locale, (locale != Global) && (locale != "")
		}
	}
	return Global, false
}
開發者ID:nilslice,項目名稱:qor,代碼行數:8,代碼來源:scope.go

示例12: syncColumns

func syncColumns(scope *gorm.Scope) (columns []string) {
	for _, field := range scope.GetModelStruct().StructFields {
		if isSyncField(field) {
			columns = append(columns, field.DBName)
		}
	}
	return
}
開發者ID:nilslice,項目名稱:qor,代碼行數:8,代碼來源:scope.go

示例13: validate

func validate(scope *gorm.Scope) {
	db := scope.DB()
	if _, ok := db.Get(settingKey); !ok {
		db.InstantSet(settingKey, map[string][]string{})
	}

	if result, ok := db.Get(skipValidations); !(ok && result.(bool)) {
		scope.CallMethodWithErrorCheck("Validate")
	}
}
開發者ID:kennylixi,項目名稱:qor,代碼行數:10,代碼來源:callbacks.go

示例14: syncToProductionAfterUpdate

func syncToProductionAfterUpdate(scope *gorm.Scope) {
	if ok, clone := getModeAndNewScope(scope); ok {
		if updateAttrs, ok := scope.InstanceGet("gorm:update_attrs"); ok {
			table := originalTableName(scope.TableName())
			clone.Search = scope.Search
			clone.Search.Table(table)
			clone.InstanceSet("gorm:update_attrs", updateAttrs)
		}
		gorm.Update(clone)
	}
}
開發者ID:kennylixi,項目名稱:qor,代碼行數:11,代碼來源:callbacks.go

示例15: setEncryptedPassword

func (user *User) setEncryptedPassword(scope *gorm.Scope) error {
	pw, err := bcrypt.GenerateFromPassword([]byte(user.Password), 0)
	if err != nil {
		return err
	}

	scope.SetColumn("EncryptedPassword", string(pw))
	user.Password = ""

	return nil
}
開發者ID:fengjh,項目名稱:gorm_cannot_updates_virtual_attributes,代碼行數:11,代碼來源:main.go


注:本文中的github.com/jinzhu/gorm.Scope類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。