当前位置: 首页>>代码示例>>Golang>>正文


Golang Scope.Get方法代码示例

本文整理汇总了Golang中github.com/jinzhu/gorm.Scope.Get方法的典型用法代码示例。如果您正苦于以下问题:Golang Scope.Get方法的具体用法?Golang Scope.Get怎么用?Golang Scope.Get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/jinzhu/gorm.Scope的用法示例。


在下文中一共展示了Scope.Get方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: validate

func validate(scope *gorm.Scope) {
	if _, ok := scope.Get("gorm:update_column"); !ok {
		if result, ok := scope.DB().Get(skipValidations); !(ok && result.(bool)) {
			scope.CallMethodWithErrorCheck("Validate")
		}
	}
}
开发者ID:8legd,项目名称:qor-qor,代码行数:7,代码来源:callbacks.go

示例2: 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

示例3: createPublishEvent

func createPublishEvent(scope *gorm.Scope) {
	if _, ok := scope.InstanceGet("publish:creating_publish_event"); ok {
		if event, ok := scope.Get(publishEvent); ok {
			if event, ok := event.(*PublishEvent); ok {
				event.PublishStatus = DIRTY
				scope.Err(scope.NewDB().Save(&event).Error)
			}
		}
	}
}
开发者ID:qor,项目名称:publish,代码行数:10,代码来源:callbacks.go

示例4: getModeAndNewScope

func getModeAndNewScope(scope *gorm.Scope) (isProduction bool, clone *gorm.Scope) {
	if draftMode, ok := scope.Get("publish:draft_mode"); !ok || !draftMode.(bool) {
		if _, ok := scope.InstanceGet("publish:supported_model"); ok {
			table := originalTableName(scope.TableName())
			clone := scope.New(scope.Value)
			clone.Search.Table(table)
			return true, clone
		}
	}
	return false, nil
}
开发者ID:kennylixi,项目名称:qor,代码行数:11,代码来源:callbacks.go

示例5: deleteScope

func deleteScope(scope *gorm.Scope) {
	if !scope.HasError() {
		_, supportedModel := scope.InstanceGet("publish:supported_model")
		isDraftMode, ok := scope.Get("publish:draft_mode")

		if supportedModel && (ok && isDraftMode.(bool)) {
			scope.Raw(
				fmt.Sprintf("UPDATE %v SET deleted_at=%v, publish_status=%v %v",
					scope.QuotedTableName(),
					scope.AddToVars(gorm.NowFunc()),
					scope.AddToVars(DIRTY),
					scope.CombinedConditionSql(),
				))
			scope.Exec()
		} else {
			gorm.Delete(scope)
		}
	}
}
开发者ID:kennylixi,项目名称:qor,代码行数:19,代码来源:callbacks.go

示例6: validate

func validate(scope *gorm.Scope) {
	if _, ok := scope.Get("gorm:update_column"); !ok {
		if result, ok := scope.DB().Get(skipValidations); !(ok && result.(bool)) {
			if !scope.HasError() {
				scope.CallMethod("Validate")
				resource := scope.IndirectValue().Interface()
				_, validatorErrors := govalidator.ValidateStruct(resource)
				if validatorErrors != nil {
					if errors, ok := validatorErrors.(govalidator.Errors); ok {
						for _, err := range flatValidatorErrors(errors) {
							scope.DB().AddError(formattedError(err, resource))
						}
					} else {
						scope.DB().AddError(validatorErrors)
					}
				}
			}
		}
	}
}
开发者ID:qor,项目名称:validations,代码行数:20,代码来源:callbacks.go


注:本文中的github.com/jinzhu/gorm.Scope.Get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。