Stack: Laravel v8, MySQL.
I working on a payroll system with Laravel.
I want the value of some columns to update if another column it depends on changes.
For example, if the Number of working days changes on the payrolls table, then the salary and other columns that depends on 'Number of working days' column should re-calculate based on the new value and save to the database.
How do I go about this? Are there any Laravel packages that handles this efficiently?
CodePudding user response:
In laravel
model, there are events
you could use for example if the user first_name
or last_name
is updated I want to update the full_name
too like this
class User extends Model
{
/**
* The "booted" method of the model.
*
* @return void
*/
protected static function booted()
{
static::updating(function ($user) {
if($user->isDirty('first_name') || $user->isDirty('last_name')){
$user->full_name = $user->first_name . ' ' . $user->last_name;
}
});
}
}
Here is all the events
you could listen for: retrieved
, creating
, created
, updating
, updated
, saving
, saved
, deleting
, deleted
, trashed
, forceDeleted
, restoring
, restored
, and replicating
CodePudding user response:
I never tried it myself, but it seems like you could solve this with a MYSQL Trigger or event: