在存储/更新数据时,我需要设置DataSavingClearing中间件,如
Route::put('data-put', array('as' => 'data-put', 'uses' => 'Controller@update'))->middleware('DataSavingClearing:notes');
参数注释是DataSavingClearing的一些附加参数。
但我的许多路线都是用资源定义的
Route::resource('items', 'Controller', [ 'except' => ['show' ] ] ); // ->middleware('DataSavingClearing');
我可以设置某种方式在上面的行中显示中间件DataSavingClearing必须仅应用于存储/更新吗?
laravel/framework 9.19
提前感谢!
您可以在控制器的构造函数中为某些路由添加中间件,如下所示:
/**
* Enforce middleware.
*/
public function __construct()
{
$this->middleware('auth', ['only' => ['create', 'store', 'edit', 'delete']]);
// Alternativly
$this->middleware('auth', ['except' => ['index', 'show']]);
}
文档
您可以在控制器的构造函数中设置它:
class Controller
{
public function __construct()
{
$this->middleware('DataSavingClearing:notes')->except('show');
}
}
或者反过来:
class Controller
{
public function __construct()
{
$this->middleware('DataSavingClearing:notes')->only('store', 'update');
}
}