- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 grails 项目中使用了 GORM API 反射(reflect)的 afterUpdate 方法。
class Transaction{
Person receiver;
Person sender;
}
afterUpdate
相应的行为:
class Transaction{
//...............
def afterUpdate(){
if(/*Receiver is changed*/){
new TransactionHistory(proKey:'receiver',propName:this.receiver).save();
}
else
{
new TransactionHistory(proKey:'sender',propName:this.sender).save();
}
}
}
beforeUpdate
: 并在全局变量(以前为事务)中更新更新前的对象,然后在更新后,比较
previous
与当前对象。
最佳答案
通常这可以通过使用 isDirty 来完成。域实例上的方法。例如:
// returns true if the instance value of firstName
// does not match the persisted value int he database.
person.isDirty('firstName')
afterUpdate()
该值已被持久化到数据库和
isDirty
永远不会返回真。
beforeUpdate
实现自己的检查。 .这可能是设置您稍后阅读的 transient 值。例如:
class Person {
String firstName
boolean firstNameChanged = false
static transients = ['firstNameChanged']
..
def beforeUpdate() {
firstNameChanged = this.isDirty('firstName')
}
..
def afterUpdate() {
if (firstNameChanged)
...
}
...
}
关于grails - 如何检测 afterUpdate|beforeUpdate GORM 方法中哪个字段已更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25870542/
我对嵌套域类有一个内部要求,我想将对父级关系的更新传播到子级。一个代码示例可以清楚地表明: class Milestone { static belongsTo = [project:Proj
我想将域类保存到数据库中而不指定createdUser或createdDate。我创建了一个名为AuditingInfo的对象,并将其嵌入到主要的Person域类中,如下所示: AuditingInf
我有一个简单的用户模型如下: 'use strict'; let hashPassword = (user, options) => { if (!user.changed('password
我有一个使用 TypeORM 的 NodeJS 后端服务器,每次更新实体时我都需要执行插入。所以我的 BaseModel 类中有以下代码: abstract class BaseModel { //
刚开始学习vue js,一直在试验一个递归树的例子,基于这个例子官方例子here 上面的示例以具有单根 后跟许多子元素的 treedata 开始,我试图将其扩展为具有多个根元素, 例子 here .
仅当满足某些条件时,我才需要加密密码。 beforeUpdate: function (value, cb) { User.findOne(value.id) .exec(function (er
我在 grails 项目中使用了 GORM API 反射(reflect)的 afterUpdate 方法。 class Transaction{ Person receiver; P
我正在使用 nodejs/express/sequelize 开发 API。 实际上是在我创建用户帐户时。由于 bcrypt,我得到了一个 Hook 'beforeCreate' 来散列用户密码: U
当我取消移动包含新项目的数组时,会触发两次 beforeUpdate 方法。当我推送新项目时,情况并非如此。有谁知道为什么要这样做?它搞砸了我的应用程序... 最佳答案 经过反复试验,我找到了解决方案
很清楚如何访问新值,第一个参数包含它们 更新前:函数(值,cb){....} 但是我怎样才能访问要替换的当前值呢? 最佳答案 为了访问当前值,您必须进行调用并获取当前记录。 models/user.j
我如何在 sequelize 上使用 beforeUpdate 钩子(Hook)中止更新操作并返回一个对象作为中止更新的结果, 如果我有类似的东西: User.beforeUpdate(functio
在旧的 Grails 版本中,我们在域类中有这些 beforeUpdate、beforeInsert、beforeSave 事件。 我在 Grails 3.x 中找不到它们了 - 我现在如何轻松处理这
我有一个带有 2 个 Hook 的简单用户模型。 User.beforeCreate(setSaltAndPass) User.beforeUpdate(setSaltAndPass) 第一个完美运行
我正在为我的无服务器 lambda 函数使用 Sequelize Typescript 模块。用户模型有两个钩子(Hook),beforecreate 和 beforeupdate。用户模型如下所示:
我在我的应用程序中使用 grails 版本 2.1.0,我在我的域类中有一个 before 插入,它对密码进行如下编码。 包 com.valuelabs.bets.security 类 SecUser
我从 here 尝试过 Golang Gorm Hook ,但在尝试更新表时不触发任何内容 md_transaction 通过型号国防部 ,这是我的golang代码: package models i
在 Sails 的 Waternline 中,我需要能够将以前的值与新值进行比较,并在某些情况下分配新的属性。例如: beforeUpdate: function(newValues, callbac
我们公司使用的大多数域对象都会有一些共同的属性。这些代表创建对象的用户、最后更新对象的用户以及他们用来执行此操作的程序。 为了DRY 的利益退出我的域类后,我想找到某种方法将相同的 beforeIns
想要在保存之前/在 Controller 中创建值之前添加验证逻辑。 想要将错误抛给管理面板用户。因此他们可以更正相同的值并重新提交表单 BeforeSave :我能够添加逻辑。但我不知道如何将错误消
我在Opportunity对象上创建了一个触发器,用于在插入之前和更新之前,通过该触发器将Trigger.newMap变量作为自变量发送给我的顶点类,在其中我根据另一个Object中的记录检查特定组合
我是一名优秀的程序员,十分优秀!