Vous êtes sur la page 1sur 3

Atelier framework Web côté serveur Symfony 5

TP5 : LES ENTITES ET LEURS RELATIONS

On se propose dans cet atelier d’ajouter une entité « Category » et de créer


une relation entre les entités Article et Category, comme le montre le
diagramme de classes suivant :
Ctegory Article
- Id : int 1..1 1..* - Id : int
- titre : String category articles - nom : String
- description : String - prix : double

1. Toujours dans le même projet symfony, créer une nouvelle entité Category :

php bin/console make:entity Category


Les propriétés de la classe Category sont :
 titre string(255)
 description text

Mahdi HAMZAOUI AU :2020/2021


Atelier framework Web côté serveur Symfony 5

La propriété category sera ajoutée à l’entité Produit avec ses getter et setter:

/**
* @ORM\ManyToOne(targetEntity="App\Entity\Category",inversedBy="produits")
* @ORM\JoinColumn(nullable=false)
*/
private $category;

public function getCategory(): ?Category


{
return $this->category;
}

public function setCategory(?Category $category): self


{
$this->category = $category;

return $this;
}

Génération de la table Category et ajout de la colonne category à la


table Article

Pour générer de la table Category et ajouter la colonne category à la table Article,


1. taper la commande suivante :

php bin/console doctrine:migrations:diff


puis

php bin/console doctrine:migrations:migrate


2. Vérifier les modifications dans la BD

Mahdi HAMZAOUI AU :2020/2021


Atelier framework Web côté serveur Symfony 5

Génération des CRUD pour l’entité « Category »

1. Taper la commande suivante :

php bin/console make:crud Category

2. Tester le travail

3. Modifier le code du fichier ProduitType comme suit :

public function buildForm(FormBuilderInterface $builder, array $options)


{
$builder
->add('nom')
->add('prix')
->add('category')
;
}

4. Vous aurez l’erreur suivant :

5. Ajouter la méthode toString() à la classe Category

public function toString()


{
return $this->getTitre();
}

6. Tester le travail
7. Ajouter l’entité Fournisseur (id, nom,adresse,tel) sachant qu’un fournisseur
peut fournir plusieurs produits alors qu’un produit n’est fourni que par un seul
fournisseur.
8. Générer le crud de l’entité Fournisseur
Mahdi HAMZAOUI AU :2020/2021

Vous aimerez peut-être aussi