您好,登錄后才能下訂單哦!
這篇文章主要介紹“Laravel多租戶擴展包multitenancy怎么用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Laravel多租戶擴展包multitenancy怎么用”文章能幫助大家解決問題。
該擴展的核心是: Tenant
模型,該模型用于租戶實例的創建,您可以通過該擴展提供的一些遍歷方法快速使用和訪問當前租戶。
use Spatie\Multitenancy\Models\Tenant; // 獲取當前租戶,不存在返回 null Tenant::current() // 通過容器的方式獲取當前租戶 app('currentTenant'); // 確認當前是否有租戶 Tenant::checkCurrent() // 將某個租戶設置為當前租戶 $tenant->makeCurrent(); // 忘記當前租戶 Tenant::forgetCurrent();
在安裝該擴展之后,在數據庫中你會發現 tenants
數據表,該表用于存儲租戶信息。該擴展實現了一些便利的方法,包括通過域名來確定當前租戶,其中 DomainTenantFinder
類,就是用于查詢并設置當前租戶。當然,你也可以配置自定義查詢方式,只要實現 TenantFinder
抽象類即可。
在查找租戶時您可能還需要考慮一些必要判定。該擴展提供了一些租戶判定的中間件,比如根據入參來確定并設置當前所屬租戶的中間件 NeedsTenant
,以及防止非當前租戶的用戶訪問的 EnsureValidTenantSession
全局中間件。
多租戶系統還需要考慮的問題就是:控制臺命令和隊列范圍的界定。默認情況下,隊列的執行與否是不會會根據租戶來做區分的,該擴展中,您可以通過配置 TenantAware
和 NotTenantAware
參數來實現特定租戶可以使用特定隊列的需求。
當然,您也可以通過 tenants:artisan
命令來實現在特定租戶下執行遷移的需求,案例如下:
# 所有租戶執行遷移 php artisan tenants:artisan migrate # 特定租戶執行遷移 php artisan tenants:artisan "migrate --seed" --tenant=123
關于“Laravel多租戶擴展包multitenancy怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。