Reputation: 6974
In my Laravel 6.0 app, I need to use a route with two parameters.
Route::get('view/{MyFirstModel}/{MySecondModel}', 'Mycontroller@view')
->middleware(['can:view,MyFirstModel,MySecondModel']);
I tried also with:
Route::get('view/{MyFirstModel}/{MySecondModel}', 'Mycontroller@view')
->middleware(['can:view,MyFirstModel|MySecondModel']);
In my Policy I have:
public function view(User $user, MyFirstModel $first, MySecondModel $second) {
var_dump("I enter");
}
However, it doesn't work, and the policy is never called. How can I pass two parameters in my route middleware?
Upvotes: 1
Views: 255
Reputation: 6974
I found my error.
Seems that I should use this sintax:
Route::get('view/{MyFirstModel}/{MySecondModel}', 'Mycontroller@view')->middleware('can:view,MyFirstModel,MySecondModel')
Without parentheses.
Upvotes: 3