Le grand livre de Bruna

Exercice 1 sur 6 du chapitre 2 · 150 XP · 5 objectifs vérifiés par des tests

Notions abordées : EntitéMappingDoctrine

La réservation a fait un tabac : la taverne ne désemplit plus. Bruna veut enrichir sa carte chaque semaine, mais pour ajouter un plat, il faut… modifier le code. Inacceptable. Désormais, les plats vivront dans une base de données.

Symfony s'appuie pour cela sur Doctrine : vous décrivez une classe PHP (une entité), et Doctrine s'occupe de la table et du SQL.

Votre mission

Transformez la classe App\Entity\Plat en entité Doctrine, rangée dans la table plat :

Propriété Type en base Particularité
id entier identifiant généré par la base
slug texte (100) unique
nom texte (100)
description texte long
prix nombre à virgule
specialite booléen faux par défaut

Les propriétés et leurs accesseurs sont déjà écrits : il ne manque que le mapping, c'est-à-dire les attributs #[ORM\…].

La console

Onglet Console, à côté de l'aperçu : c'est un vrai bin/console.

Dans un vrai projet, on fait évoluer le schéma avec des migrations (make:migration). Ici, la base de l'aperçu vit dans votre navigateur et repart de zéro à chaque chargement : schema:update suffit.