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

Installation

Laravel 5.8 is needed.

Require the package via composer

First you need to require the package using composer:

composer require 'stancl/tenancy:~1.8'

Automatic installation

To install the package, simply run

php artisan tenancy:install

You will be asked if you want to store your data in Redis or a relational database. You can read more about this on the Storage Drivers page.

This will do all the steps listed in the Manual installation section for you.

The only thing you have to do now is create a database/Redis connection. Read the Storage Drivers page for information about that.

Manual installation

If you prefer installing the package manually, you can do that too. It shouldn't take more than a minute either way.

Setting up middleware

Now open app/Http/Kernel.php and make the InitializeTenancy middleware top priority, so that it gets executed before anything else, making sure things like the database switch connections soon enough:

protected $middlewarePriority = [
    \Stancl\Tenancy\Middleware\InitializeTenancy::class,
    // ...
];

Creating routes

The package lets you have tenant routes and "exempt" routes. Tenant routes are your application's routes. Exempt routes are routes exempt from tenancy — landing pages, sign up forms, and routes for managing tenants.

Routes in routes/web.php are exempt, whereas routes in routes/tenant.php have the InitializeTenancy middleware automatically applied on them.

So, to create tenant routes, put those routes in a new file called routes/tenant.php.

Configuration

Run the following:

php artisan vendor:publish --provider='Stancl\Tenancy\TenancyServiceProvider' --tag=config

This creates a config/tenancy.php. You can use it to configure how the package works.

Configuration is explained in detail on the Configuration page.