Php laravel租赁-使租户进入维护模式

Php laravel租赁-使租户进入维护模式,php,laravel,multi-tenant,Php,Laravel,Multi Tenant,我试图在stancl/租赁中实施维护模式,记录如下: 到目前为止,我已经将MaintenanceMode特性添加到我的租户模型中,并在Nova中创建了一个新操作,该操作设置了一个in_维护布尔字段,并调用$model->putdownformainance 该操作起作用并设置字段,并将维护模式添加到数据列 行动: public function handle(ActionFields $fields, Collection $models) { foreach ($models as

我试图在stancl/租赁中实施维护模式,记录如下:

到目前为止,我已经将MaintenanceMode特性添加到我的租户模型中,并在Nova中创建了一个新操作,该操作设置了一个in_维护布尔字段,并调用$model->putdownformainance

该操作起作用并设置字段,并将维护模式添加到数据列

行动:

 public function handle(ActionFields $fields, Collection $models)
 {
   foreach ($models as $model){
       $model->update([
           'in_maintenance_mode' => true
       ]);

       $data['message'] = 'System is down for maintenance';
       $model->putDownForMaintenance($data);
  }

   return Action::message('The tenant was put into Maintenance Mode successfully.');
}
然后,我尝试在我的租户路由上使用Stancl\Renancy\Middleware\CheckTenantFormatIntentenanceMode中间件,如文档中所述

 Route::middleware(CheckForMaintenanceMode::class)->group(function () {
   Route::middleware(['auth', CheckSubscription::class])->group(function () {
    Route::redirect('/home', '/posts')->name('home');

    Route::get('/posts', 'PostController@index')->name('posts.index');
    Route::post('/posts', 'PostController@store')->name('posts.store');
    Route::get('/posts/create', 'PostController@create')->name('posts.create');
    Route::get('/posts/{post}', 'PostController@show')->name('posts.show');

    Route::get('/settings/user', 'UserSettingsController@show')->name('settings.user');
    Route::post('/settings/user/personal', 'UserSettingsController@personal')->name('settings.user.personal');
    Route::post('/settings/user/password', 'UserSettingsController@password')->name('settings.user.password');

    Route::middleware(OwnerOnly::class)->group(function () {
        Route::get('/settings/application', 'ApplicationSettingsController@show')->name('settings.application');
        Route::post('/settings/application/configuration', 'ApplicationSettingsController@storeConfiguration')->name('settings.application.configuration');
        Route::get('/settings/application/invoice/{id}/download', 'DownloadInvoiceController')->name('invoice.download');
    });
});
});
但我不明白app/Http/Middleware/checkformintenancemode.php应该包含哪些内容

在该文件中,我有以下内容:

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode as Middleware;
use Closure;

class CheckForMaintenanceMode extends Middleware
{
/**
 * The URIs that should be reachable while maintenance mode is enabled.
 *
 * @var array
 */
protected $except = [
    //
];

/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{
    if (tenant()->in_maintenance_mode) {
        throw new MaintenanceModeException();
    }

    return $next($request);
}

}
但这甚至不能将租户作为有效对象

试图获取非对象的属性“处于维护模式”时出错

我错过了什么