redchamps/filament-tenancy
最新稳定版本:1.0.3
Composer 安装命令:
composer require redchamps/filament-tenancy
包简介
Tenancy multi-database integration for FilamentPHP
关键字:
README 文档
README
Filament Tenancy
Tenancy multi-database integration for FilamentPHP
Warning
We have a known problem with route:cache if you find a problem with multi-database connection from your tenant side you may face this problem just use php artisan route:clear and it will be fixed.
Screenshots
Features
- Multi Database
- Create Tenant Resource
- Sync Tenant Resource
- Password Change
- Tenant Impersonate
- Share Tenant Data
- Custom Theme For Tenant
- Livewire Component For Register New Tenant
Installation
composer require redchamps/filament-tenancy
after install your package please run this command
php artisan filament-tenancy:install
in your .env add this
CENTRAL_DOMAIN=tomatophp.test
where tomatophp.test is your central domain, and make sure you add a root user or a user have a permission to create database, then in your main central panel add this plugin
use TomatoPHP\FilamentTenancy\FilamentTenancyPlugin; ->plugin(FilamentTenancyPlugin::make()->panel('app'))
now you need to create a panel for tenancy app
php artisan filament:panel
and make the name same as ->panel('app'), in your tenancy app panel add this plugin
use TomatoPHP\FilamentTenancy\FilamentTenancyAppPlugin; ->plugin(FilamentTenancyAppPlugin::make())
now on your config\database.php add this code
... 'connections' => [ 'dynamic' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ], ... ],
now run config:cache
php artisan config:cache
on your bootstrap\app.php add this middleware
use Stancl\Tenancy\Middleware\InitializeTenancyByDomain; use Stancl\Tenancy\Middleware\InitializeTenancyBySubdomain; ->withMiddleware(function (Middleware $middleware) { $middleware->group('universal', [ InitializeTenancyByDomain::class, InitializeTenancyBySubdomain::class, ]); })
Allow Impersonate
you can allow impersonate to tanent panel with 1 click by use this method on your plugin
use TomatoPHP\FilamentTenancy\FilamentTenancyPlugin; ->plugin( FilamentTenancyPlugin::make() ->panel('app') ->allowImpersonate() )
Publish Assets
you can publish config file by use this command
php artisan vendor:publish --tag="filament-tenancy-config"
you can publish views file by use this command
php artisan vendor:publish --tag="filament-tenancy-views"
you can publish languages file by use this command
php artisan vendor:publish --tag="filament-tenancy-lang"
you can publish migrations file by use this command
php artisan vendor:publish --tag="filament-tenancy-migrations"
Other Filament Packages
Checkout our Awesome TomatoPHP
统计信息
- 总下载量: 40
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-19




