1

在我的 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");
}

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

4

1 回答 1

3

我发现了我的错误。

似乎我应该使用这个sintax:

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

没有括号。

于 2019-09-09T15:17:31.077 回答