<?phpnamespace App\Entity;use App\Repository\CategorieRepository;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use JsonSerializable;use Doctrine\Common\Collections\ArrayCollection;/** * @ORM\Entity(repositoryClass=CategorieRepository::class) */class Categorie implements JsonSerializable{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $nom; /** * @ORM\Column(type="string", length=255, nullable=true) */ private $description; /** * @ORM\OneToMany(targetEntity="Produit", mappedBy="categorie") */ private $produits; /** * @ORM\Column(type="integer") */ private $statut; /** * @ORM\ManyToOne(targetEntity=Secteur::class) * @ORM\JoinColumn(nullable=false) */ private $secteur; public function __construct() { $this->produits = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getNom(): ?string { return $this->nom; } public function setNom(string $nom): self { $this->nom = $nom; return $this; } public function getDescription(): ?string { return $this->description; } public function setDescription(?string $description): self { $this->description = $description; return $this; } public function jsonSerialize() { $vars = get_object_vars($this); return $vars; } public function getStatut(): ?int { return $this->statut; } public function setStatut(int $statut): self { $this->statut = $statut; return $this; } public function getSecteur(): ?Secteur { return $this->secteur; } public function setSecteur(?Secteur $secteur): self { $this->secteur = $secteur; return $this; } /** * @return Collection<int, Produit> */ public function getProduits(): Collection { return $this->produits; } public function addProduit(Produit $produit): static { if (!$this->produits->contains($produit)) { $this->produits->add($produit); $produit->setCategorie($this); } return $this; } public function removeProduit(Produit $produit): static { if ($this->produits->removeElement($produit)) { // set the owning side to null (unless already changed) if ($produit->getCategorie() === $this) { $produit->setCategorie(null); } } return $this; }}