Bonjour,
J'aimerais utiliser la méthode Autorize() de mon FormRequest afin d'être sur que l'utilisateur à bien les droits sur le projet qu'il essait d'éditer. Je suis pas sur de m'y prendre de la bonne manière.
La documenation en parle au Chapitre "Authorizing form request" https://laravel.com/docs/5.6/validation#authorizing-form-requests
Voici la déclaration dans le fichier Request en question
public function authorize()
{
$project = Projects::find($this->route()->parameter('project_id'));
return Auth::user()->id == $project->customer->user_id;
}
message: "Trying to get property 'customer' of non-object", exception: "ErrorException",…}
exception:"ErrorException"
file
:
"C:\xampp\htdocs\laravel\laravel\app\Http\Requests\StoreProjectStep2.php"
line
:
21
En regardant de plus près, je sais que mon $project est vide, car $this->route()->parameter('project_id') ne renvoit rien, j'ai également essayer en faisant $project = Projects::find($this->route('step2_store')); mais c'est pareil. Je n'arrive pas à comprendre la correlation entre la route, et la l'autorisation d'accès à la modification.
Merci
Bonjour,
Bonne question, c'est plus approprié ? Plus simple ? plus efficasse ?
J'ai donc utilisé une Gate pour faire ce dont j'avais besoin.
Ca fonctionne parfaitement ! Mais j'aimerais comprendre à quel moment il est conseillé d'utiliser la méthode authorize() d'un fichier Request.