Download the PHP package artificertech/laravel-relationship-events without Composer
On this page you can find all versions of the php package artificertech/laravel-relationship-events. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download artificertech/laravel-relationship-events
More information about artificertech/laravel-relationship-events
Files in artificertech/laravel-relationship-events
Package laravel-relationship-events
Short Description Missing relationship events for Laravel
License MIT
Homepage https://github.com/artificertech/laravel-relationship-events
Informations about the package laravel-relationship-events
Laravel Relationship Events
Missing relationship events for Laravel
This package was intitally forked from https://github.com/chelout/laravel-relationship-events which is not being actively developed. This package is a different take on the original idea that allows relationship event listeners to be created on a per-relationship basis
This package is still in development. Feel free to contribute by submitting a pull request
Install
- Install package with composer
Latest Release:
Currently there are no releases for this project as it is still in development.
Development branch:
- Add the HasRelationshipEvents trait to your model
For all saving, attaching, creating, etc events that are fired before the operation takes place you may return false from the event listener to cancel the operation
- Dispatchable relationship events. It is possible to fire event classes via $dispatchesEvents properties
Observers
It is possible to use relationship events in Laravel observers classes Usage is very simple. Define observer class:
Detecting observable events
the laravel-relationship-events package cannot automatically detect relationship events that you want to observe. Please define them in your model class like so:
Don't forget to register an observer in the method of your :
And now just create profile for user:
Customizing the event name
By default the relationship event name is equal to the relationship function name with the action taking place in camel case. For example if you have a HasOne relationship "profile" then the event names would be "profileCreating", "profileCreated", "profileSaving", "profileSaved".
You may customize the event name by passing the relationship name into the withEvents() function as a string. For example:
will fire "userPostCreating", "userPostCreated", "userPostSaving", "userPostSaved" events
Relationship Specific info
Each relationship as slightly different events. For example the belongsTo relationship fires {relationship}Associating, {relationship}Associated, {relationship}Dissociating, and {relationship}Dissociated events
- Belongs To
- Has Many
- Has One
- Morph Many
- Morph One
- Morph To
Todo
- Fix Automated Tests
- Add documentation for ManyToMany type events (these events can be handled by the built in pivot models and do not need this package)
- Non-Default event name tests
- Event Dispatcher Tests
- Event Listener Exception Tests
- HasOneThrough & HasManyThrough
- New HasOneOfMany relationship?
All versions of laravel-relationship-events with dependencies
illuminate/container Version ^8.0|^9.0|^10.0
illuminate/database Version ^8.0|^9.0|^10.0
illuminate/events Version ^8.0|^9.0|^10.0
illuminate/support Version ^8.0|^9.0|^10.0