Salesforce Apex触发器 - 如何检查更新触发器中是否包含字段?

Mus*_*Ali 11 triggers salesforce apex-code

如果有人可以指导我检查更新调用中是否包含特定字段是否包含在更新前/后更新触发器中,我将非常感激.非常感谢.

mmi*_*mix 13

所有字段始终存在于触发器中,无论它们是否为脏,为了确定特定字段是否已被修改,您必须使用oldMapmap 来检索该行的先前版本,Map<ID, sObject>并比较旧的和新的值.例如

trigger CaseOnParticularFieldUpdate on Case (before update) {
    for (Case c: Trigger.new) {
        Case oldCase = Trigger.oldMap.get(c.ID);
        if (c.Field != oldCase.Field) {
            // field was updated, do some magic here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)