<?php
namespace App\Entity;
use App\Repository\AdresseLivraisonRepository;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
/**
* @ORM\Entity(repositoryClass=AdresseLivraisonRepository::class)
* @ORM\Table(name="`adresseLivraison`")
*/
class AdresseLivraison
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", nullable=true)
*/
private $adresse;
/**
* @ORM\OneToMany(targetEntity=OrderApi::class, mappedBy="adresseLiv")
*/
private $orders;
public function __construct()
{
// Initialise la collection pour éviter les erreurs de manipulation.
$this->orders = new ArrayCollection();
}
// Getters et Setters
public function getId(): ?int
{
return $this->id;
}
public function getAdresse(): ?string
{
return $this->adresse;
}
public function setAdresse(?string $adresse): self
{
$this->adresse = $adresse;
return $this;
}
public function getOrders(): Collection
{
return $this->orders;
}
public function addOrder(OrderApi $order): self
{
if (!$this->orders->contains($order)) {
$this->orders[] = $order;
$order->setAdresseLiv($this); // On associe l'ordre à cette adresse
}
return $this;
}
public function removeOrder(OrderApi $order): self
{
if ($this->orders->removeElement($order)) {
// Si la relation est supprimée dans la commande, on désassocie l'adresse
if ($order->getAdresseLiv() === $this) {
$order->setAdresseLiv(null);
}
}
return $this;
}
}