after_save
Overview
The after_save
hook executes after a record is saved.
Definition
function after_save($bean, $event, $arguments){}
Arguments
Name | Type | Description |
bean | Object | The bean object |
event | String | The current event |
arguments | Array | Additional information related to the event (typically empty) |
arguments.isUpdate | Boolean | Whether or not the record is newly created or not. True is an existing record being saved. False is a new record being created |
arguments.dataChanges | Array | A list of the fields in the auditable fields on the bean, including the ones that changed and the ones that did not. Note: This argument is deprecated and it is recommended to use arguments.stateChanges instead. |
arguments.stateChanges | Array | Contains the fields which were changed comparing to the previous bean state |
Considerations
- Calling save on the bean in this hook will cause an infinite loop if not handled correctly. (i.e: $bean->save())
Examples
Creating a Logic Hook using the Extension Framework
./custom/Extension/modules/<module>/Ext/LogicHooks/<file>.php
<?php
$hook_array['after_save'][] = Array(
//Processing index. For sorting the array.
1,
//Label. A string value to identify the hook.
'after_save example',
//The PHP file where your class is located.
'custom/modules/<module>/after_save_class.php',
//The class the method is in.
'after_save_class',
//The method to call.
'after_save_method'
);
?>
./custom/modules/<module>/after_save_class.php
<?php
if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
class after_save_class
{
function after_save_method($bean, $event, $arguments)
{
//logic
}
}
?>