Download the PHP package genealabs/laravel-pivot-events without Composer

On this page you can find all versions of the php package genealabs/laravel-pivot-events. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-pivot-events

Laravel Pivot Events

This package introduces new eloquent events for sync(), attach(), detach(), or updateExistingPivot() methods on BelongsToMany and MorphToMany relationships.

This package is a fork of fico7489/laravel-pivot created mainly to address compatibility issues with Laravel Telescope and Model Caching for Laravel.

Sponsors

We thank the following sponsors for their generosity. Please take a moment to check them out:

Requirements

Installation

1.Install package with composer:

  1. Use GeneaLabs\LaravelPivotEvents\Traits\PivotEventTrait trait in your base model or only in particular models.

New Eloquent Events

You can check all eloquent events here: https://laravel.com/docs/5.8/eloquent#events)

New events are :

The easiest way to catch events is using methods in your model's boot() method:

You can also catch them using dedicated Event Listeners:

Supported Relationships

BelongsToMany and MorphToMany

Which events are dispatched and when they are dispatched

Four BelongsToMany methods dispatches events from this package :

attach()
Dispatches one pivotAttaching and one pivotAttached event.
Even when more rows are added only one event is dispatched for all rows but in that case, you can see all changed row ids in the $pivotIds variable, and the changed row ids with attributes in the $pivotIdsAttributes variable.

detach()
Dispatches one pivotDetaching and one pivotDetached event.
Even when more rows are deleted only one event is dispatched for all rows but in that case, you can see all changed row ids in the $pivotIds variable.

updateExistingPivot()
Dispatches one pivotUpdating and one pivotUpdated event.
You can change only one row in the pivot table with updateExistingPivot.

sync()
Dispatches one pivotSyncing and one pivotSynced event.
Whether a row was attached/detached/updated during sync only one event is dispatched for all rows but in that case, you can see all the attached/detached/updated rows in the $changes variables.
E.g. How does sync work: The sync first detaches all associations and then attaches or updates new entries one by one.

Usage

We have three tables in database users(id, name), roles(id, name), role_user(user_id, role_id). We have two models :

Attaching

For attach() or detach() one event is dispatched for both pivot ids.

Attaching With Primary Key

Running this code

You will see this output

Attaching with array

Running this code

You will see this output

Attaching with model

Running this code

You will see this output

Attaching with collection

Running this code

You will see this output

Attaching with array (id => attributes)

Running this code

You will see this output

Syncing

Running this code

You will see this output

Detaching

Running this code

You will see this output

Updating

Running this code

You will see this output


All versions of laravel-pivot-events with dependencies

PHP Build Version
Package Version
Requires illuminate/database Version ^8.0|^9.0|^10.0|^11.0
illuminate/support Version ^8.0|^9.0|^10.0|^11.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package genealabs/laravel-pivot-events contains the following files

Loading the files please wait ....