Example #1
0
// ModelLoadMap load a map into a model
func ModelLoadMap(model Model, data map[string]interface{}) error {
	for k, v := range data {
		modelField, err := ModelGetField(model, field.NewNameFromSnakeCase(k))
		if err != nil {
			continue
		}

		err = modelField.Scan(v)
		if err != nil {
			return err
		}
	}
	return nil
}
Example #2
0
// ModelSetDefaults load a map into a model to set default values
func ModelSetDefaults(model Model, defaults map[string]interface{}) error {
	for k, v := range defaults {
		modelField, err := ModelGetField(model, field.NewNameFromSnakeCase(k))
		if err != nil {
			continue
		}
		if !modelField.IsSet() {
			err = modelField.Scan(v)
			if err != nil {
				return err
			}
		}
	}
	return nil
}