Bonjour(soir), je me demandais s'il y avait moyen d'économiser les requêtes en passant un élément du middleware vers le controlleur.
Je m'explique :
imaginons une route /post/{post}
imaginons un modèle Post en relation belongsTo le modèle User
imaginons un middleware checkPost qui vérifie qu'il y ait un utilisateur connecté et que le {post} lui appartienne
imaginons le controlleur PostsController et la méthode show($id) qui affiche le {post}
Donc ma question est la suivante :
Il faudra faire une requête dans le middleware du type
$post = Post::find($request->route()->parameters()['post']);
De même dans la méthode show du controlleur
$post = Post::find($id);
Qui revient à la même chose, au final. Donc est-ce qu'il y aurait une manière de passer le $post trouvé dans le middleware au controlleur, pour économiser une requête.
Merci d'avance si quelqu'un prend le temps de m'aider ^_^
Non, le middleware étant appellé avant le controller tu es foutu :)
MAIS il y a une solution, je la décris dans ce chapitre là (pour le middleware Owner) : http://www.grafikart.fr/formations/laravel/tp2-pets
Pour te résumer l'idée :