Comments (5)
Hi @leebrooks0
No, this is not supported, but under consideration.
But even if gorm supported it, how will you use it for created_by_user_id?
from gorm.
I intend using Revel, which has cookie based sessions, so once the user has logged in I would save their user id in the session and then fetch it when needed.
from gorm.
But because you can't pass any argument to callbacks, so how to get the user id from session?
So maybe better if gorm support setters/getters like this, any suggestions?
// model
type User struct {
UpdatedBy string
}
// define callbacks
func SaveUpdatedBy(tx *gorm.DB, obj interface{}) (err error) {
updated_by := reflect.ValueOf(obj).Elem().FieldByName("UpdatedBy")
if updated_by.IsValid() {
updated_by.Set(reflect.ValueOf(tx.Get("current_user_id")))
}
return
}
DB.RegisterCallback("BeforeSave", SaveUpdatedBy)
// controller
db := DB.Set("current_user_id", 20) // 20 is the value from session
db.Save(&user)
from gorm.
I see, so User.UpdatedBy needs to be manually set. It seems like these things just need to be handled on a case by case basis. If User.UpdatedBy was "Fred" and then "John" makes the update, then unless you manually reset User.UpdatedBy to "John" then on save it is still going to say "Fred" made the update.
from gorm.
I am planing a plugin system for gorm, hope this could resolve your problem, will notice you when it is done.
from gorm.
Related Issues (20)
- Why `Open` support multi `Option` but only apply the last one after sort?
- [BUG] `strings.(*Builder).WriteByte` memory leak in `.FirstOrCreate` with `PrepareStmts: true` setting HOT 2
- Is the issue of zero values in gorm struct solved?
- how can i read data that "with totals" from clickhouse? HOT 1
- Upgrade 1.25.5->1.25.7: AutoMigrate returns the error "insufficient arguments" HOT 6
- bug: first argument in the params is not binary
- 1.2.7 breaks migrations when updating 1.2.5 HOT 10
- clause/expression.go does not provide any mechanism to escape ? literal inside SQL statement
- Mysql在一对多情况下会双倍插入修改的外键内容 HOT 2
- Belongs To Relation failed when owner's field name is same to foreignKey HOT 1
- Default value for text type is not showing in generated structs HOT 1
- Support duckdb HOT 1
- How to get transaction ID by gorm? HOT 1
- SQL printed to terminal is error
- GORM Save model with Associations but incorrect work HOT 4
- GORM save to map seems to require a model even though the table name is being specified
- Can Gorm elegantly update null value columns? HOT 1
- GORM save to map causes crash when model type includes primary key field (solution shown) HOT 3
- Why Pluck column type is time.Time value no results, but column type is string value have results. HOT 2
- 批量创建时,当传递的dst的元素是Interface时报错 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gorm.