I'm trying to run some authorization, but I'm running into trouble on the middleware. I did write the Gate, and it is working flawlessly with the @can blade directive. I want to block the route tho, but I get:
"Trying to get property of non-object " error, and it shows my Gate.
The Gate is:
Gate::define('canCForm', function($user, $form){
return ($user->cargo == $form->validador1);
});
This is written in AuthServiceProvider.
And then route is:
Route::get('/formulariosrecebidos/{form}', 'FormsController@editRecebido')->middleware('can:canCForm,form');
Any idea? I did try to change it a lot of ways, the only way I get it to work is if I make something like 'return ($user->cargo == 'somestring');
' So the problem must be in the $form. Altho it is strange because with the @can it is working.