How it works

This package is very flexible and lets you use tenancy however you want. But it comes with sensible defaults that work like this out of the box:

  • a request comes in
  • the domain is used to identify the tenant
  • the database, cache, etc are switched to that tenant's context

This happens using identification middleware and events.

Tenant identification

Event system

Note that even though the default assumes you're using domains and the database-per-tenant model, you're free to customize this any way you want. And it's easy to customize! Just read on to get an understanding of how everything works.

TODO: Expand. Why this approach, etc. Maybe on the other page?