Le livre d'or

Exercice 4 sur 6 du chapitre 3 · 200 XP · 5 objectifs vérifiés par des tests

Notions abordées : FormulaireRelationsPOST-redirection-GET

Gorm a posé un vieux grimoire sur le comptoir : le livre d'or. Les clients y griffonnent leur avis sur les plats… et le déchiffrer est impossible. Il le veut en ligne, sous chaque fiche.

L'entité Avis existe déjà (auteur, note de 1 à 5 chopes, message, date), avec ses contraintes, et chaque plat connaît ses avis (plat.avis).

Votre mission

  1. Complétez AvisType : l'auteur, la note (un nombre entier) et le message (une zone de texte).
  2. Sur la fiche d'un plat (MenuController::plat()), proposez ce formulaire pour un nouvel avis sur ce plat. S'il est valide : enregistrez-le, ajoutez le message flash « Merci pour votre avis ! », puis redirigez vers la fiche.
  3. Dans menu/plat.html.twig, affichez les avis (un <article class="avis"> par avis, la note en chopes 🍺, le message, l'auteur, la date), puis le formulaire avec un bouton « Publier mon avis ».

Rappel

Le formulaire remplit l'objet qu'on lui confie : créez l'Avis déjà rattaché au plat, avant createForm(). L'utilisateur n'a pas à choisir le plat, c'est la page qui le dit.