在 Laravel 6.0 中为路由中间件使用多个参数

Use multiple parameters for route middleware in Laravel 6.0

在我的 Laravel 6.0 应用程序中,我需要使用带有两个参数的路由。

Route::get('view/{MyFirstModel}/{MySecondModel}', 'Mycontroller@view')
    ->middleware(['can:view,MyFirstModel,MySecondModel']);

我也试过:

Route::get('view/{MyFirstModel}/{MySecondModel}', 'Mycontroller@view')
    ->middleware(['can:view,MyFirstModel|MySecondModel']);

我的保单中有:

public function view(User $user, MyFirstModel $first, MySecondModel $second) {
    var_dump("I enter");
}

但是,它不起作用,并且永远不会调用该策略。如何在路由中间件中传递两个参数?

我发现了我的错误。

看来我应该使用这个语法:

Route::get('view/{MyFirstModel}/{MySecondModel}', 'Mycontroller@view')->middleware('can:view,MyFirstModel,MySecondModel')

没有括号。