spatie/laravel-multitenancy
Unopinionated multitenancy for Laravel. Detect the current tenant per request and define what happens when switching tenants. Supports single or multiple databases, tenant-aware queued jobs, commands that run per tenant, and easy per-model connection setup.
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?