<< TP 12
TP 14 >>

13. Modification des entités Véhicule et Equipement





13.1. L'entité Vehicule

Il faut maintenant modifier la classe Vehicule afin de pouvoir mettre à jour un véhicule et ses équipements.

  1. <?php
  2. namespace App\Entity;
  3.  
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7.  
  8. use App\Entity\Conducteur;
  9. use App\Repository\VehiculeRepository;
  10.  
  11. use App\Entity\EquipementVehicule;
  12.  
  13. // for date
  14. use Symfony\Component\Validator\Constraints as Assert;
  15.  
  16.  
  17. #[ORM\Entity(repositoryClass: VehiculeRepository::class)]
  18. class Vehicule
  19. {
  20.     // ...
  21.  
  22.     // retourne les équipements associés au véhicule
  23.     public function getVeEquipementVehicule(): Collection
  24.     {
  25.         return $this->ve_equipement_vehicule;
  26.     }
  27.  
  28.     public function addVeEquipementVehicule(EquipementVehicule $equipement_vehicule): static
  29.     {
  30.         if (!$this->ve_equipement_vehicule->contains($equipement_vehicule)) {
  31.             $this->ve_equipement_vehicule[] = $equipement_vehicule;
  32.             $equipement_vehicule->setEqVeVehicule($this);
  33.         }
  34.  
  35.         return $this;
  36.     }
  37.  
  38.     // supprime les équipements associés au véhicule
  39.     public function removeVeEquipementVehicule(EquipementVehicule $equipement_vehicule): static
  40.     {
  41.         if ($this->ve_equipement_vehicule->removeElement($equipement_vehicule)) {
  42.             // set the owning side to null (unless already changed)
  43.             if ($equipement_vehicule->getEqVeVehicule() === $this) {
  44.                 $equipement_vehicule->setEqVeVehicule(null);
  45.             }
  46.         }
  47.  
  48.         return $this;
  49.     }
  50.  
  51. }
  52. ?>
  53.  

13.2. L'entité Equipement

Il faut également modifier la classe Equipement

  1. <?php
  2. namespace App\Entity;
  3.  
  4.  
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Doctrine\Common\Collections\Collection;
  8.  
  9. use App\Repository\EquipementRepository;
  10. use App\Entity\EquipementVehicule;
  11.  
  12.  
  13. #[ORM\Entity(repositoryClass: EquipementRepository::class)]
  14. class Equipement
  15. {
  16.     // ...
  17.  
  18.     // retourne les liens EquipementVehicule
  19.     public function getEqEquipementVehicule(): Collection
  20.     {
  21.         return $this->eq_equipement_vehicule;
  22.     }
  23.  
  24.     // ajoute un EquipementVehicule
  25.     public function addEqEquipementVehicule(EquipementVehicule $equipement_vehicule): static
  26.     {
  27.         if (!$this->eq_equipement_vehicule->contains($equipement_vehicule)) {
  28.             $this->eq_equipement_vehicule[] = $equipement_vehicule;
  29.             $equipement_vehicule->setEqVeEquipement($this);
  30.         }
  31.  
  32.         return $this;
  33.     }
  34.  
  35.     // supprimer un EquipementVehicule
  36.     public function removeEqEquipementVehicule(EquipementVehicule $equipement_vehicule): static
  37.     {
  38.         if ($this->eq_equipement_vehicule->removeElement($equipement_vehicule)) {
  39.             // set the owning side to null (unless already changed)
  40.             if ($equipement_vehicule->getEqVeEquipement() === $this) {
  41.                 $equipement_vehicule->setEqVeEquipement(null);
  42.             }
  43.         }
  44.  
  45.         return $this;
  46.     }
  47.  
  48. }
  49. ?>





<< TP 12
TP 14 >>