CreateWithMap insert record to database
(entity interface{}, record map[string]interface{})
| 235 | |
| 236 | // CreateWithMap insert record to database |
| 237 | func (d *Dalgorm) CreateWithMap(entity interface{}, record map[string]interface{}) errors.Error { |
| 238 | d.unwrapDynamic(&entity, nil) |
| 239 | if record != nil { |
| 240 | if id, ok := record["id"]; ok && id != nil { |
| 241 | var columns []string |
| 242 | for column := range record { |
| 243 | columns = append(columns, column) |
| 244 | } |
| 245 | return d.convertGormError(buildTx(d.db, nil).Model(entity).Clauses(clause.OnConflict{ |
| 246 | Columns: []clause.Column{{Name: "id"}}, |
| 247 | DoUpdates: clause.AssignmentColumns(columns), |
| 248 | }).Create(record).Error) |
| 249 | } else { |
| 250 | return d.convertGormError(buildTx(d.db, nil).Model(entity).Clauses(clause.OnConflict{UpdateAll: true}).Create(record).Error) |
| 251 | } |
| 252 | } |
| 253 | return d.convertGormError(buildTx(d.db, nil).Model(entity).Clauses(clause.OnConflict{UpdateAll: true}).Create(record).Error) |
| 254 | } |
| 255 | |
| 256 | // Update updates record |
| 257 | func (d *Dalgorm) Update(entity interface{}, clauses ...dal.Clause) errors.Error { |
nothing calls this directly
no test coverage detected