我正在使用 TenancyForLaravel 开发一个多租户应用程序。直到昨天一切都正常,我不记得做了任何必须改变应用程序工作方式的事情。现在,我尝试访问
tenant('id)
文件和 AppServiceProvider.php
路由文件上的 tenant.php
,但它一直返回 null。我可以访问域 abc.example.test
和 bcd.example.test
上的租户,还可以访问刀片文件、组件文件 (livewire) 和控制器文件上的租户('id')。
我尝试在AppServiceProvder和tenant.php文件中运行dd(Tenant::all(), Domain::all()),它执行没有问题,表明我注册了两个租户。我已经清除了应用程序缓存,但仍然面临这个问题。我已经检查了我所做的配置是否有问题,我找不到任何问题。
Laravel 11.9 Laravel 的租赁:3.8.5
拜托,我需要帮助。
请检查您的设置
在路由中使用中间件:
// routes/tenant.php
Route::middleware([
'web',
InitializeTenancyByDomain::class,
PreventAccessFromCentralDomains::class,
])->group(function () {
// Your routes here
});
修复 AppServiceProvider:
public function boot()
{
if (tenancy()->initialized) {
$tenant = tenant();
// you can access tenant('id')
}
}
如果仍然不起作用,请清除配置和缓存:
php artisan config:clear
php artisan cache:clear