You're looking at v1 documentation. The current version is v3. You can find the docs for the current version here.

The Event System

You can use event hooks to change the behavior of the tenancy boostrapping and tenancy ending processes.

The following events are available: - boostrapping - boostrapped - ending - ended

Tenant-specific database connection example

You can hook into these events using Tenancy::<eventName>:

\Tenancy::boostrapping(function ($tenantManager) {
    if ($tenantManager->tenant['uuid'] === 'someUUID') {
        config(['database.connections.someDatabaseConnection' => $tenantManager->tenant['databaseConnection']]);
        $tenantManager->database->useConnection('someDatabaseConnection');

        return ['database'];
    }
});

The example above checks whether the current tenant has an uuid of someUUID. If yes, it creates a new database connection based on data stored in the tenant's storage. Then it changes the default database connection. Finally, it returns an array of the events that this callback prevents.

The following actions can be prevented: - database connection switch: database - Redis prefix: redis - CacheManager switch: cache - Filesystem changes: filesystem

Tenant-specific configuration example

Another common use case for events is tenant-specific config:

\Tenancy::bootstrapped(function ($tenantManager) {
    config(['some.api.key' => $tenantManager->tenant['api_key']);
});