spatie/laravel-multitenancy
Unopinionated multitenancy for Laravel. Detect the current tenant per request and run configurable tasks when switching tenants. Supports single or multiple databases, tenant-aware queued jobs, per-tenant Artisan commands, and easy model connection handling.
The Spatie\Multitenancy\Tasks\SwitchDatabaseTask can switch the configured database name of the tenant database connection. The database name used will be in the database attribute of the Tenant model.
To use this task, you should add it to the switch_tenant_tasks key in the multitenancy config file.
// in config/multitenancy.php
'switch_tenant_tasks' => [
\Spatie\Multitenancy\Tasks\SwitchTenantDatabaseTask::class,
// other tasks
],
If you want to change other database connection properties beside the database name, you should create your own task. You can take a look at the source code of SwitchTenantDatabaseTask for inspiration.
How can I help you explore Laravel packages today?