FilamentPHP 的租戶多資料庫集成
警告
我們有一個已知的route:cache
如果您發現租戶端的多資料庫連線有問題,您可能會遇到這個問題,只需使用php artisan route:clear
即可修復。
多資料庫
建立租戶資源
同步租戶資源
更改密碼
冒充租戶
共享租戶數據
租戶自訂主題
用於註冊新租戶的 Livewire 元件
作曲家需要 tomatophp/filament-tenancy
安裝軟體包後請執行此命令
php artisan 燈絲租賃:安裝
在你的.env
中加入這個
CENTRAL_DOMAIN=tomatophp.test
其中tomatophp.test
是您的中心網域,並確保您新增 root 用戶或具有建立資料庫權限的用戶,然後在您的主中央面板中新增此插件
使用 TomatoPHPFilamentTenancyFilamentTenancyPlugin; ->插件(FilamentTenancyPlugin::make()->面板('app'))
現在您需要為租賃應用程式建立一個面板
php artisan 燈絲:面板
並使名稱與->panel('app')
相同,在您的租賃應用程式面板中添加此插件
使用TomatoPHPFilamentTenancyFilamentTenancyAppPlugin; ->插件(FilamentTenancyAppPlugin::make())
現在在你的configdatabase.php
加入此程式碼
...'connections' => ['dynamic' => ['driver' => 'mysql','url' => env('DATABASE_URL'),'host' => env('DB_HOST', '127.0. 0.1') 0.1'),'連接埠' => env('DB_PORT', '3306'),'資料庫' => env('DB_DATABASE', 'forge'),'使用者名稱' => 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'), ]) : [], ], …… ],
現在運行配置:快取
php artisan 配置:緩存
在你的bootstrapapp.php
加上這個中間件
使用 StanclTenancyMiddlewareInitializeTenancyByDomain;使用 StanclTenancyMiddlewareInitializeTenancyBySubdomain; ->withMiddleware(function (中介軟體 $middleware) {$middleware->group('universal', [InitializeTenancyByDomain::class,InitializeTenancyBySubdomain::class, ]); })
您可以透過在您的插件上使用此方法,允許一鍵模擬 tanent 面板
使用 TomatoPHPFilamentTenancyFilamentTenancyPlugin; ->插件(FilamentTenancyPlugin::make() ->面板('應用程式') ->允許模擬() )
您可以使用此命令發布設定文件
php artisan 供應商:發佈 --tag="filament-tenancy-config"
您可以使用此命令發布視圖文件
php artisan 供應商:發佈 --tag="filament-tenancy-views"
您可以使用此命令發布語言文件
php artisan 供應商:發佈 --tag="filament-tenancy-lang"
您可以使用此命令發布遷移文件
php artisan 供應商:發佈 --tag="filament-tenancy-migrations"
查看我們很棒的 TomatoPHP