💨

[Salesforce][Trigger] アップデートの前後の値を比較する

2021/09/22に公開

Trigger

オブジェクトの更新を検知したタイミングで特定のフィールドの値が更新されているかどうかをチェックして処理を分岐をさせたいケースがあるかと思います。

以下の方法で実装可能です。このサンプルではProduct__cカスタムオブジェクトのStatus__cフィールドが更新された場合、Is_Updated__cというチェックボックのフラグを立てています。

trigger UpdateProduct on Product__c (before update) {
    for(Product__c product : Trigger.New) {
        Product__c oldProduct = Trigger.oldMap.get(product.id);
        if (product.Status__c != oldProduct.Status__c ) {
            product.Is_Updated__c = true;
        }
    }
}

Discussion