<?phpnamespace App\Entity;use App\Repository\LivraisonRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;#[ORM\Entity(repositoryClass: LivraisonRepository::class)]class Livraison{ #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\Column(type: Types::DATETIME_MUTABLE)] private ?\DateTimeInterface $date = null; #[ORM\Column(length: 255)] private ?string $statut = null; #[ORM\ManyToOne(inversedBy: 'livraisons')] private ?Livreur $livreur = null; #[ORM\Column(length: 255, nullable: true)] private ?string $adresse = null; #[ORM\OneToMany(mappedBy: 'livraison', targetEntity: LivraisonProd::class, cascade: ['persist'])] private Collection $livraisonProds; #[ORM\OneToMany(mappedBy: 'livraison', targetEntity: Echeance::class)] private Collection $echeances; #[ORM\ManyToOne(inversedBy: 'livraisons')] private ?Client $client = null; public function __construct() { $this->livraisonProds = new ArrayCollection(); $this->echeances = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getDate(): ?\DateTimeInterface { return $this->date; } public function setDate(\DateTimeInterface $date): static { $this->date = $date; return $this; } public function getStatut(): ?string { return $this->statut; } public function setStatut(string $statut): static { $this->statut = $statut; return $this; } public function getLivreur(): ?Livreur { return $this->livreur; } public function setLivreur(?Livreur $livreur): static { $this->livreur = $livreur; return $this; } public function getAdresse(): ?string { return $this->adresse; } public function setAdresse(?string $adresse): static { $this->adresse = $adresse; return $this; } /** * @return Collection<int, LivraisonProd> */ public function getLivraisonProds(): Collection { return $this->livraisonProds; } public function addLivraisonProd(LivraisonProd $livraisonProd): static { if (!$this->livraisonProds->contains($livraisonProd)) { $this->livraisonProds->add($livraisonProd); $livraisonProd->setLivraison($this); } return $this; } public function removeLivraisonProd(LivraisonProd $livraisonProd): static { if ($this->livraisonProds->removeElement($livraisonProd)) { // set the owning side to null (unless already changed) if ($livraisonProd->getLivraison() === $this) { $livraisonProd->setLivraison(null); } } return $this; } /** * @return Collection<int, Echeance> */ public function getEcheances(): Collection { return $this->echeances; } public function addEcheance(Echeance $echeance): static { if (!$this->echeances->contains($echeance)) { $this->echeances->add($echeance); $echeance->setLivraison($this); } return $this; } public function removeEcheance(Echeance $echeance): static { if ($this->echeances->removeElement($echeance)) { // set the owning side to null (unless already changed) if ($echeance->getLivraison() === $this) { $echeance->setLivraison(null); } } return $this; } public function getClient(): ?Client { return $this->client; } public function setClient(?Client $client): static { $this->client = $client; return $this; }}