tenancy-docs/source/docs/v3/integrations/livewire.blade.md

1.3 KiB

title extends section
Livewire integration _layouts.documentation content

Livewire

Open the config/livewire.php file and change this:

'middleware_group' => ['web'],

to this:

'middleware_group' => [
    'web',
    'universal',
    InitializeTenancyByDomain::class, // or whatever tenancy middleware you use
],

In Livewire 3, the configuration key middleware_group has been removed, so instead add the following in TenancyServiceProvider (or any other provider):

public function boot(): void
    {
        ...

        Livewire::setUpdateRoute(function ($handle) {
            return Route::post('/livewire/update', $handle)
                ->middleware(
                    'web',
                    'universal',
                    InitializeTenancyByDomain::class, // or whatever tenancy middleware you use
                );
        });
    }

(Don't forget to import the middleware class.)

Now you can use Livewire both in the central app and the tenant app.

Also make sure to enable [universal routes]({{ $page->link('features/universal-routes') }}).

And if you're using file uploads, read the [Real-time facades]({{ $page->link('realtime-facades') }}) page of the documentation. Livewire uses real-time facades in the uploading logic.