added events for relationships #nka5y8 #2181

This commit is contained in:
Denis Duliçi 2021-07-08 10:33:43 +03:00
parent 8f32f37f69
commit 3c55dfdac4
3 changed files with 54 additions and 0 deletions

View File

@ -0,0 +1,20 @@
<?php
namespace App\Events\Common;
use App\Abstracts\Event;
class RelationshipCounting extends Event
{
public $record;
/**
* Create a new event instance.
*
* @param $record
*/
public function __construct($record)
{
$this->record = $record;
}
}

View File

@ -0,0 +1,20 @@
<?php
namespace App\Events\Common;
use App\Abstracts\Event;
class RelationshipDeleting extends Event
{
public $record;
/**
* Create a new event instance.
*
* @param $record
*/
public function __construct($record)
{
$this->record = $record;
}
}

View File

@ -2,6 +2,8 @@
namespace App\Traits;
use App\Events\Common\RelationshipCounting;
use App\Events\Common\RelationshipDeleting;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
@ -9,6 +11,12 @@ trait Relationships
{
public function countRelationships($model, $relationships)
{
$record = new \stdClass();
$record->model = $model;
$record->relationships = $relationships;
event(new RelationshipCounting($record));
$counter = [];
foreach ($relationships as $relationship => $text) {
@ -33,6 +41,12 @@ trait Relationships
*/
public function deleteRelationships($model, $relationships)
{
$record = new \stdClass();
$record->model = $model;
$record->relationships = $relationships;
event(new RelationshipDeleting($record));
foreach ((array) $relationships as $relationship) {
if (empty($model->$relationship)) {
continue;