|  Download Laravel FireworksA simple trait that will help to fire model property wise event on your laravel model. Using laravel model events, to create hooks with changed column and data. InstallationYou can start it from composer. Go to your terminal and run this command from your project root directory. composer require hashemi/fireworks
 SetupAt first, you need to use Fireworkstrait on your model where you want register your model events. class User extends Model
{
    // Use Fireworks Trait
    // ....
    use \Hashemi\Fireworks\Fireworks;
    // ....
}
 `Fireworkstrait addbootmethod on your model and register pre-defined model event hooks that already provided by laravel. This package supportsretrieved, creating, created, updating, updated, deleting, deleted, saving, savedhooks. So, you don't need to register again this hooks are onboot` method.
 How to useThis package will help you figure out of every hooks in methods. Example: suppose you want to use `creatinghooks, just declareonModelCreating` method on your model. class User extends Model
{
    // Use Fireworks Trait
    // ....
    use \Hashemi\Fireworks\Fireworks;
    protected $fillable = [
        'name',
    ];
    // ....
    protected function onModelCreating($model) {
        $model->name = "Kuddus";
    }
    protected function onModelUpdating($model) {}
    protected function onModelSaving($model) {}
    
    protected function onModelCreated($model) {}
    protected function onModelUpdated($model) {}
    protected function onModelSaved($model) {
        $model->name = "Ali";
        $model->save();
    }
    
    protected function onModelNameSaved($model, $newValue, $oldValue)
    {
        
    }
}
 onModelCreating($model)You can use `onModelCreatinginstead ofstatic::creating` onModelUpdating($model)You can use `onModelUpdatinginstead ofstatic::updating` onModelSaving($model)You can use `onModelSavinginstead ofstatic::saving` onModelDeleting($model)You can use `onModelDeletinginstead ofstatic::creating` onModelRetrieved($model)You can use `onModelRetrievedinstead ofstatic::creating` onModelCreated($model)You can use `onModelCreatedinstead ofstatic::created` onModelUpdated($model)You can use `onModelUpdatedinstead ofstatic::updated` onModelSaved($model)You can use `onModelSavedinstead ofstatic::saved` onModelDeleted($model)You can use `onModelDeletedinstead ofstatic::deleted` Convention
Your hooks method should be `onModelformat. Where the` will be replaced by the StudlyCase Hooks names. So, if your hook is `creating`, then the method name should be `onModelCreating()`.
If you want to fire event on column change wise then your hook method should be `onModel<PropertyName><Hookname>`. Where the `PropertyName` will be replaced with your column name in StudlyCase and `Hookname` will be also same way. So if your column is `phone_number` and your hook is `updating`, then the method name should be `onModelPhoneNumberUpdating()`.
 WarningPlease use hooks proper way other way data will modified in each hook.  ContributingPull requests are welcome. For any changes, please open an issue first to discuss what you would like to change. |