Download the PHP package haganjones/laravel-observe-properties without Composer
On this page you can find all versions of the php package haganjones/laravel-observe-properties. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download haganjones/laravel-observe-properties
More information about haganjones/laravel-observe-properties
Files in haganjones/laravel-observe-properties
Package laravel-observe-properties
Short Description A simple trait to allow you to observe changing properties on a Model.
License MIT
Homepage https://github.com/haganjones/laravel-observe-properties
Informations about the package laravel-observe-properties
Laravel Observe Properties
A simple trait to allow you to observe changing properties on a Model.
When observing a model it is sometimes necessary to check to see if a particular property on a model has changed, then perform an action. If you need to do this a lot then your observer methods can soon become clogged up, hopefully this trait will help you out!
Install via Composer
To Use
Include the trait in your Observation Classes:
Including this trait in your class allows you to make use of the camelcaseProperty + Eventname
methods.
For example, following on from our UserObserver
class above:
Available Events
All default Laravel Events are supported, please not some events will only receive one value. See below for full list of events and arguments.
Method | Arguments Received |
---|---|
yourPropertyCreating | (Model $yourModel, $value) |
yourPropertyCreated | (Model $yourModel, $value) |
yourPropertyUpdating | (Model $yourModel, $oldValue, $newValue) |
yourPropertyUpdated | (Model $yourModel, $oldValue, $newValue) |
yourPropertySaving | (Model $yourModel, $oldValue, $newValue) |
yourPropertySaved | (Model $yourModel, $oldValue, $newValue) |
yourPropertyDeleting | (Model $yourModel, $value) |
yourPropertyDeleted | (Model $yourModel, $value) |
yourPropertyRestoring | (Model $yourModel, $value) |
yourPropertyRestored | (Model $yourModel, $value) |
Caveats
As per the Laravel docs the Saving|Saved
events fire along
side Creating|Created
and Updating|Updated
methods.
With this in mind when creating a Model the Saving|Saved
event will receive
both $oldValue
and $newValue
arguments but they will have the
same value.
Using in existing Observer classes.
It is possible you would want to add this functionality inside your existing Observer classes in this case you will need to include the trait but give it's methods some aliases e.g