<?php
namespace App\Entity;
use App\Repository\CategorieFamilleRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: CategorieFamilleRepository::class)]
class CategorieFamille implements \Stringable
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $name;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $name_en;
#[ORM\ManyToOne(targetEntity: SouscategorieMetier::class, inversedBy: 'categorieFamilles', cascade: ['persist'])]
private $souscategorie;
#[ORM\ManyToMany(targetEntity: CategorieArticle::class, mappedBy: 'categoriefamilles')]
private $categorieArticles;
#[ORM\ManyToOne(targetEntity: CategorieMetier::class, inversedBy: 'categorieFamilles', cascade: ['persist'])]
private $categorie;
#[ORM\ManyToMany(targetEntity: DefautCategorie::class, inversedBy: 'categorieFamilles')]
private $categoriesdefaut;
#[ORM\OneToMany(targetEntity: DefautParFamille::class, mappedBy: 'categoriefamille', cascade: ['persist', 'remove'])]
private $defautParFamilles;
#[ORM\OneToMany(targetEntity: FicheQualite::class, mappedBy: 'famille', cascade: ['persist', 'remove'])]
private $ficheQualites;
#[ORM\OneToMany(targetEntity: FicheQualiteAtelierAuditeur::class, mappedBy: 'famille', cascade: ['persist', 'remove'])]
private $ficheQualiteAtelierAuditeurs;
#[ORM\OneToMany(targetEntity: FicheQualiteAtelier::class, mappedBy: 'famille', cascade: ['persist', 'remove'])]
private $ficheQualiteAteliers;
#[ORM\OneToMany(targetEntity: FicheQualiteCent::class, mappedBy: 'famille', cascade: ['persist', 'remove'])]
private $ficheQualiteCents;
public function __construct()
{
$this->categorieArticles = new ArrayCollection();
$this->categoriesdefaut = new ArrayCollection();
$this->defautParFamilles = new ArrayCollection();
$this->ficheQualites = new ArrayCollection();
$this->ficheQualiteAtelierAuditeurs = new ArrayCollection();
$this->ficheQualiteAteliers = new ArrayCollection();
$this->ficheQualiteCents = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): self
{
$this->name = $name;
return $this;
}
public function getNameEn(): ?string
{
return $this->name_en;
}
public function setNameEn(?string $name_en): self
{
$this->name_en = $name_en;
return $this;
}
public function getSouscategorie(): ?SouscategorieMetier
{
return $this->souscategorie;
}
public function setSouscategorie(?SouscategorieMetier $souscategorie): self
{
$this->souscategorie = $souscategorie;
return $this;
}
/**
* @return Collection|CategorieArticle[]
*/
public function getCategorieArticles(): Collection
{
return $this->categorieArticles;
}
public function addCategorieArticle(CategorieArticle $categorieArticle): self
{
if (!$this->categorieArticles->contains($categorieArticle)) {
$this->categorieArticles[] = $categorieArticle;
$categorieArticle->addCategoriefamille($this);
}
return $this;
}
public function removeCategorieArticle(CategorieArticle $categorieArticle): self
{
if ($this->categorieArticles->removeElement($categorieArticle)) {
$categorieArticle->removeCategoriefamille($this);
}
return $this;
}
public function getCategorie(): ?CategorieMetier
{
return $this->categorie;
}
public function setCategorie(?CategorieMetier $categorie): self
{
$this->categorie = $categorie;
return $this;
}
/**
* @return Collection|DefautCategorie[]
*/
public function getCategoriesdefaut(): Collection
{
return $this->categoriesdefaut;
}
public function addCategoriesdefaut(DefautCategorie $categoriesdefaut): self
{
if (!$this->categoriesdefaut->contains($categoriesdefaut)) {
$this->categoriesdefaut[] = $categoriesdefaut;
}
return $this;
}
public function removeCategoriesdefaut(DefautCategorie $categoriesdefaut): self
{
$this->categoriesdefaut->removeElement($categoriesdefaut);
return $this;
}
/**
* @return Collection|DefautParFamille[]
*/
public function getDefautParFamilles(): Collection
{
return $this->defautParFamilles;
}
public function addDefautParFamille(DefautParFamille $defautParFamille): self
{
if (!$this->defautParFamilles->contains($defautParFamille)) {
$this->defautParFamilles[] = $defautParFamille;
$defautParFamille->setCategoriefamille($this);
}
return $this;
}
public function removeDefautParFamille(DefautParFamille $defautParFamille): self
{
if ($this->defautParFamilles->removeElement($defautParFamille)) {
// set the owning side to null (unless already changed)
if ($defautParFamille->getCategoriefamille() === $this) {
$defautParFamille->setCategoriefamille(null);
}
}
return $this;
}
/**
* @return Collection|FicheQualite[]
*/
public function getFicheQualites(): Collection
{
return $this->ficheQualites;
}
public function addFicheQualite(FicheQualite $ficheQualite): self
{
if (!$this->ficheQualites->contains($ficheQualite)) {
$this->ficheQualites[] = $ficheQualite;
$ficheQualite->setFamille($this);
}
return $this;
}
public function removeFicheQualite(FicheQualite $ficheQualite): self
{
if ($this->ficheQualites->removeElement($ficheQualite)) {
// set the owning side to null (unless already changed)
if ($ficheQualite->getFamille() === $this) {
$ficheQualite->setFamille(null);
}
}
return $this;
}
public function __toString(): string
{
return (string) $this->name;
}
/**
* @return Collection|FicheQualiteAtelierAuditeur[]
*/
public function getFicheQualiteAtelierAuditeurs(): Collection
{
return $this->ficheQualiteAtelierAuditeurs;
}
public function addFicheQualiteAtelierAuditeur(FicheQualiteAtelierAuditeur $ficheQualiteAtelierAuditeur): self
{
if (!$this->ficheQualiteAtelierAuditeurs->contains($ficheQualiteAtelierAuditeur)) {
$this->ficheQualiteAtelierAuditeurs[] = $ficheQualiteAtelierAuditeur;
$ficheQualiteAtelierAuditeur->setFamille($this);
}
return $this;
}
public function removeFicheQualiteAtelierAuditeur(FicheQualiteAtelierAuditeur $ficheQualiteAtelierAuditeur): self
{
if ($this->ficheQualiteAtelierAuditeurs->removeElement($ficheQualiteAtelierAuditeur)) {
// set the owning side to null (unless already changed)
if ($ficheQualiteAtelierAuditeur->getFamille() === $this) {
$ficheQualiteAtelierAuditeur->setFamille(null);
}
}
return $this;
}
/**
* @return Collection|FicheQualiteAtelier[]
*/
public function getFicheQualiteAteliers(): Collection
{
return $this->ficheQualiteAteliers;
}
public function addFicheQualiteAtelier(FicheQualiteAtelier $ficheQualiteAtelier): self
{
if (!$this->ficheQualiteAteliers->contains($ficheQualiteAtelier)) {
$this->ficheQualiteAteliers[] = $ficheQualiteAtelier;
$ficheQualiteAtelier->setFamille($this);
}
return $this;
}
public function removeFicheQualiteAtelier(FicheQualiteAtelier $ficheQualiteAtelier): self
{
if ($this->ficheQualiteAteliers->removeElement($ficheQualiteAtelier)) {
// set the owning side to null (unless already changed)
if ($ficheQualiteAtelier->getFamille() === $this) {
$ficheQualiteAtelier->setFamille(null);
}
}
return $this;
}
/**
* @return Collection|FicheQualiteCent[]
*/
public function getFicheQualiteCents(): Collection
{
return $this->ficheQualiteCents;
}
public function addFicheQualiteCent(FicheQualiteCent $ficheQualiteCent): self
{
if (!$this->ficheQualiteCents->contains($ficheQualiteCent)) {
$this->ficheQualiteCents[] = $ficheQualiteCent;
$ficheQualiteCent->setFamille($this);
}
return $this;
}
public function removeFicheQualiteCent(FicheQualiteCent $ficheQualiteCent): self
{
if ($this->ficheQualiteCents->removeElement($ficheQualiteCent)) {
// set the owning side to null (unless already changed)
if ($ficheQualiteCent->getFamille() === $this) {
$ficheQualiteCent->setFamille(null);
}
}
return $this;
}
}