
Mandantenfähige Multidatenbank-Integration für FilamentPHP
Warnung
Wir haben ein bekanntes Problem mit route:cache Wenn Sie ein Problem mit der Verbindung mehrerer Datenbanken auf Ihrer Mandantenseite feststellen, kann dieses Problem auftreten. Verwenden Sie einfach php artisan route:clear und es wird behoben.




Multi-Datenbank
Mandantenressource erstellen
Mandantenressource synchronisieren
Passwortänderung
Mieter imitieren
Teilen Sie Mieterdaten
Benutzerdefiniertes Theme für Mieter
Livewire-Komponente zur Registrierung eines neuen Mieters
Composer benötigen Tomatophp/Filament-Tenancy
Führen Sie nach der Installation Ihres Pakets bitte diesen Befehl aus
php artisan filament-tenancy:install
Fügen Sie dies in Ihrer .env hinzu
CENTRAL_DOMAIN=tomatophp.test
Dabei ist tomatophp.test Ihre zentrale Domain und stellen Sie sicher, dass Sie einen Root-Benutzer hinzufügen oder einen Benutzer mit der Berechtigung zum Erstellen einer Datenbank haben. Fügen Sie dann in Ihrem zentralen Hauptbereich dieses Plugin hinzu
Verwenden Sie TomatoPHPFilamentTenancyFilamentTenancyPlugin;
->plugin(FilamentTenancyPlugin::make()->panel('app'))Jetzt müssen Sie ein Panel für die Miet-App erstellen
PHP-Artisan-Filament:Panel
und machen Sie den gleichen Namen wie ->panel('app') Fügen Sie in Ihrem Mandanten-App-Panel dieses Plugin hinzu
Verwenden Sie TomatoPHPFilamentTenancyFilamentTenancyAppPlugin; ->plugin(FilamentTenancyAppPlugin::make())
Fügen Sie nun diesen Code in Ihre configdatabase.php ein
...'connections' => ['dynamic' => ['driver' => 'mysql','url' => env('DATABASE_URL'),'host' => env('DB_HOST', '127.0. 0.1'),'port' => env('DB_PORT', '3306'),'database' => env('DB_DATABASE', 'forge'),'username' => env('DB_USERNAME', 'forge'),'password' => env('DB_PASSWORD', ''),'unix_socket' => env('DB_SOCKET', '') ,'charset' => 'utf8mb4','collation' => 'utf8mb4_unicode_ci','prefix' => '','prefix_indexes' => true,'strict' => true,'engine' => null,'options' => extension_loaded('pdo_mysql') ? array_filter([PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]): [],
],
...
],Führen Sie nun config:cache aus
php artisan config:cache
Fügen Sie in Ihrer bootstrapapp.php diese Middleware hinzu
verwenden Sie StanclTenancyMiddlewareInitializeTenancyByDomain; verwenden Sie StanclTenancyMiddlewareInitializeTenancyBySubdomain;
->withMiddleware(function (Middleware $middleware) {$middleware->group('universal', [InitializeTenancyByDomain::class,InitializeTenancyBySubdomain::class,
]);
})Sie können die Identitätsübernahme für das Tanent-Panel mit einem Klick zulassen, indem Sie diese Methode in Ihrem Plugin verwenden
Verwenden Sie TomatoPHPFilamentTenancyFilamentTenancyPlugin;
->plugin(FilamentTenancyPlugin::make()
->panel('app')
->allowImpersonate()
)Mit diesem Befehl können Sie die Konfigurationsdatei veröffentlichen
PHP-Artist-Anbieter:publish --tag="filament-tenancy-config"
Mit diesem Befehl können Sie die Ansichtsdatei veröffentlichen
PHP-Artist-Anbieter:publish --tag="filament-tenancy-views"
Mit diesem Befehl können Sie die Sprachdatei veröffentlichen
PHP-Artist-Anbieter:publish --tag="filament-tenancy-lang"
Mit diesem Befehl können Sie die Migrationsdatei veröffentlichen
PHP-Artist-Anbieter:publish --tag="filament-tenancy-migrations"
Schauen Sie sich unser Awesome TomatoPHP an