這篇文章主要介紹“Laravel多租戶擴展包multitenancy怎么用”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Laravel多租戶擴展包multitenancy怎么用”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的香洲網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
該擴展的核心是: Tenant
模型,該模型用于租戶實例的創(chuàng)建,您可以通過該擴展提供的一些遍歷方法快速使用和訪問當(dāng)前租戶。
use Spatie\Multitenancy\Models\Tenant; // 獲取當(dāng)前租戶,不存在返回 null Tenant::current() // 通過容器的方式獲取當(dāng)前租戶 app('currentTenant'); // 確認當(dāng)前是否有租戶 Tenant::checkCurrent() // 將某個租戶設(shè)置為當(dāng)前租戶 $tenant->makeCurrent(); // 忘記當(dāng)前租戶 Tenant::forgetCurrent();
在安裝該擴展之后,在數(shù)據(jù)庫中你會發(fā)現(xiàn) tenants
數(shù)據(jù)表,該表用于存儲租戶信息。該擴展實現(xiàn)了一些便利的方法,包括通過域名來確定當(dāng)前租戶,其中 DomainTenantFinder
類,就是用于查詢并設(shè)置當(dāng)前租戶。當(dāng)然,你也可以配置自定義查詢方式,只要實現(xiàn) TenantFinder
抽象類即可。
在查找租戶時您可能還需要考慮一些必要判定。該擴展提供了一些租戶判定的中間件,比如根據(jù)入?yún)泶_定并設(shè)置當(dāng)前所屬租戶的中間件 NeedsTenant
,以及防止非當(dāng)前租戶的用戶訪問的 EnsureValidTenantSession
全局中間件。
多租戶系統(tǒng)還需要考慮的問題就是:控制臺命令和隊列范圍的界定。默認情況下,隊列的執(zhí)行與否是不會會根據(jù)租戶來做區(qū)分的,該擴展中,您可以通過配置 TenantAware
和 NotTenantAware
參數(shù)來實現(xiàn)特定租戶可以使用特定隊列的需求。
當(dāng)然,您也可以通過 tenants:artisan
命令來實現(xiàn)在特定租戶下執(zhí)行遷移的需求,案例如下:
# 所有租戶執(zhí)行遷移 php artisan tenants:artisan migrate # 特定租戶執(zhí)行遷移 php artisan tenants:artisan "migrate --seed" --tenant=123
關(guān)于“Laravel多租戶擴展包multitenancy怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
標(biāo)題名稱:Laravel多租戶擴展包multitenancy怎么用
路徑分享:http://muchs.cn/article20/gjsijo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、建站公司、網(wǎng)頁設(shè)計公司、響應(yīng)式網(wǎng)站、云服務(wù)器、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)