Startseite
NexoPOS

Methodenfilter: getDeclaredDependencies

Dieser Filter, der für Modelle verwendet wird, die den NsDependable-Trait nutzen, wird verwendet, um die Abhängigkeitsressourcen, die beim Löschen einer Entität geprüft werden, zu mutieren oder zu erweitern. Sie ersetzen „Class“ durch die relevante Crud-Klasse, für die Sie die Abhängigkeitsprüfung erweitern möchten.


<?php
namespace Modules\YourModule\Providers;

use Illuminate\Support\Provider as CoreProvider;
use App\Classes\Hook;
use App\Classes\Model;
use App\Models\User;
use Modules\YourModule\Models\Book;

class ServiceProvider extends CoreProvider
{
    public function register()
    {
        Hook::filter( User::method( 'setDependencies' ), function( $dependants ) {
            $dependants[ Book::class ]  =   Model::dependant(
                local_index: 'id',
                local_name: 'name',
                foreign_index: 'user_id',
                foreign_name: 'name'
            );
            
            return $dependants;
        });
    }
}

In dem obigen Beispiel erweitern wir die vom Benutzer deklarierte Abhängigkeit, um sicherzustellen, dass ein Benutzer nicht gelöscht wird, wenn er noch in der Buch-Tabelle referenziert wird.