<?php
namespace App\Entity;
use App\Repository\SouscategorieMetierRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: SouscategorieMetierRepository::class)]
class SouscategorieMetier 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\ManyToMany(targetEntity: CategorieMetier::class, inversedBy: 'souscategorieMetiers')]
private $categoriemetiers;
#[ORM\OneToMany(targetEntity: CategorieFamille::class, mappedBy: 'souscategorie', cascade: ['persist', 'remove'])]
private $categorieFamilles;
#[ORM\OneToMany(targetEntity: FichePreserie::class, mappedBy: 'souscategorie')]
private $fichePreseries;
#[ORM\OneToMany(targetEntity: NombreOperationPreserie::class, mappedBy: 'souscategorie')]
private $nombreOperationPreseries;
public function __construct()
{
$this->categoriemetiers = new ArrayCollection();
$this->categorieFamilles = new ArrayCollection();
$this->fichePreseries = new ArrayCollection();
$this->nombreOperationPreseries = new ArrayCollection();
}
public function __toString(): string
{
return (string) $this->name;
}
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;
}
/**
* @return Collection|CategorieMetier[]
*/
public function getCategoriemetiers(): Collection
{
return $this->categoriemetiers;
}
public function addCategoriemetier(CategorieMetier $categoriemetier): self
{
if (!$this->categoriemetiers->contains($categoriemetier)) {
$this->categoriemetiers[] = $categoriemetier;
}
return $this;
}
public function removeCategoriemetier(CategorieMetier $categoriemetier): self
{
$this->categoriemetiers->removeElement($categoriemetier);
return $this;
}
/**
* @return Collection|CategorieFamille[]
*/
public function getCategorieFamilles(): Collection
{
return $this->categorieFamilles;
}
public function addCategorieFamille(CategorieFamille $categorieFamille): self
{
if (!$this->categorieFamilles->contains($categorieFamille)) {
$this->categorieFamilles[] = $categorieFamille;
$categorieFamille->setSouscategorie($this);
}
return $this;
}
public function removeCategorieFamille(CategorieFamille $categorieFamille): self
{
if ($this->categorieFamilles->removeElement($categorieFamille)) {
// set the owning side to null (unless already changed)
if ($categorieFamille->getSouscategorie() === $this) {
$categorieFamille->setSouscategorie(null);
}
}
return $this;
}
/**
* @return Collection|FichePreserie[]
*/
public function getFichePreseries(): Collection
{
return $this->fichePreseries;
}
public function addFichePreseries(FichePreserie $fichePreseries): self
{
if (!$this->fichePreseries->contains($fichePreseries)) {
$this->fichePreseries[] = $fichePreseries;
$fichePreseries->setSouscategorie($this);
}
return $this;
}
public function removeFichePreseries(FichePreserie $fichePreseries): self
{
if ($this->fichePreseries->removeElement($fichePreseries)) {
// set the owning side to null (unless already changed)
if ($fichePreseries->getSouscategorie() === $this) {
$fichePreseries->setSouscategorie(null);
}
}
return $this;
}
/**
* @return Collection|NombreOperationPreserie[]
*/
public function getNombreOperationPreseries(): Collection
{
return $this->nombreOperationPreseries;
}
public function addNombreOperationPreseries(NombreOperationPreserie $nombreOperationPreseries): self
{
if (!$this->nombreOperationPreseries->contains($nombreOperationPreseries)) {
$this->nombreOperationPreseries[] = $nombreOperationPreseries;
$nombreOperationPreseries->setSouscategorie($this);
}
return $this;
}
public function removeNombreOperationPreseries(NombreOperationPreserie $nombreOperationPreseries): self
{
if ($this->nombreOperationPreseries->removeElement($nombreOperationPreseries)) {
// set the owning side to null (unless already changed)
if ($nombreOperationPreseries->getSouscategorie() === $this) {
$nombreOperationPreseries->setSouscategorie(null);
}
}
return $this;
}
}