<?phpnamespace App\Entity;use App\Repository\ReclamationRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;/** * @ORM\Entity(repositoryClass=ReclamationRepository::class) * @UniqueEntity( * fields= {"commande"}, * message= "Vous avez déjà fait une reclamation sur cette commande" * ) * @UniqueEntity( * fields= {"proposition"}, * message= "Vous avez déjà fait une reclamation sur cette proposition" * ) */class Reclamation{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="datetime") */ private $creted_at; /** * @ORM\Column(type="datetime", nullable=true) */ private $updated_at; /** * @ORM\OneToMany(targetEntity=Discution::class, mappedBy="reclamation") */ private $discutions; /** * @ORM\ManyToOne(targetEntity=TypeReclamation::class, inversedBy="reclamations") * @ORM\JoinColumn(nullable=false) */ private $typereclamation; /** * @ORM\ManyToOne(targetEntity=Proposition::class, inversedBy="reclamations") */ private $proposition; /** * @ORM\ManyToOne(targetEntity=EtatReclamation::class, inversedBy="reclamations") * @ORM\JoinColumn(nullable=false) */ private $etatreclamation; /** * @ORM\OneToOne(targetEntity=Order::class) */ private $commande; /** * @ORM\ManyToOne(targetEntity=User::class, inversedBy="reclamations") * @ORM\JoinColumn(nullable=false) */ private $user; public function __construct() { $this->discutions = new ArrayCollection(); $this->creted_at = new \DateTime(); } public function getId(): ?int { return $this->id; } public function getCretedAt(): ?\DateTimeInterface { return $this->creted_at; } public function setCretedAt(\DateTimeInterface $creted_at): self { $this->creted_at = $creted_at; return $this; } public function getUpdatedAt(): ?\DateTimeInterface { return $this->updated_at; } public function setUpdatedAt(?\DateTimeInterface $updated_at): self { $this->updated_at = $updated_at; return $this; } /** * @return Collection<int, Discution> */ public function getDiscutions(): Collection { return $this->discutions; } public function addDiscution(Discution $discution): self { if (!$this->discutions->contains($discution)) { $this->discutions[] = $discution; $discution->setReclamation($this); } return $this; } public function removeDiscution(Discution $discution): self { if ($this->discutions->removeElement($discution)) { // set the owning side to null (unless already changed) if ($discution->getReclamation() === $this) { $discution->setReclamation(null); } } return $this; } public function getTypereclamation(): ?TypeReclamation { return $this->typereclamation; } public function setTypereclamation(?TypeReclamation $typereclamation): self { $this->typereclamation = $typereclamation; return $this; } public function getProposition(): ?Proposition { return $this->proposition; } public function setProposition(?Proposition $proposition): self { $this->proposition = $proposition; return $this; } public function getEtatreclamation(): ?EtatReclamation { return $this->etatreclamation; } public function setEtatreclamation(?EtatReclamation $etatreclamation): self { $this->etatreclamation = $etatreclamation; return $this; } public function getCommande(): ?Order { return $this->commande; } public function setCommande(?Order $commande): self { $this->commande = $commande; return $this; } public function getUser(): ?User { return $this->user; } public function setUser(?User $user): self { $this->user = $user; return $this; }}