Before Save
public function onBeforeSaveEmployee(mixed &$data, JTable $table) : bool
Fires before saving an employee.
Description
This hook is triggered before creating or updating an employee record. It can be used to bind the data that are going to be saved within the database.
TIP: in case of failure while saving the record, it is possible to throw an exception to abort the saving process and return a readable error message. The same can be accomplished by registering an error to the table and returning false
.
// throw an exception
throw new Exception('Missing required field', 404);
// or register the error
$table->setError('Missing required field');
return false;
Parameters
- &$data
-
(array|object) Either an array or an object specifying the employee properties to bind.
- $table
-
(JTable) The table instance that handles the saving process.
Return Value
Boolean. Use false to abort the saving process.
Example
The following example is used to save a new property that is not supported by default. It is assumed that the employees database table has been altered to support the gender column.
/**
* Trigger hook to allow the plugins to bind the object that
* is going to be saved.
*
* @param mixed &$data The array/object to bind.
* @param JTable $table The table instance.
*
* @return boolean False to abort the saving process.
*/
public function onBeforeSaveEmployee(&$data, $table)
{
$input = JFactory::getApplication()->input;
// retrieve GENDER from request
$gender = $input->get('gender', null, 'string');
// make sure the gender was set
if (!is_null($gender))
{
// bind array with gender to include it within the UPDATE/INSERT query
$data['gender'] = $gender;
}
return true;
}
Changelog
Version | Description |
---|---|
1.7.0 | Added $table argument. Accepted a return value to stop the saving process. |
1.6.4 | Introduced. |