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 :
- Le middleware à accès à request et va donc récupérer le post et vérifier si il correspond à ton critère
- Le middleware va ensuite altérer la requête et modifier le paramètre pour ne pas renvoyer l'id mais plutôt l'entité. $request->route()->setParameter('id', );
- Le controller se retrouve donc avec une instance de l'entité en paramètre et peut continuer à travailler dessus.