<?php
namespace App\Entity;
use App\Repository\RubriqueRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=RubriqueRepository::class)
*/
class Rubrique
{
/**
* @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 $description;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $OrderID;
/**
* @ORM\Column(type="integer", nullable=true , options={"default" : 0})
*/
private $typeRub;
/**
* @ORM\ManyToMany(targetEntity=Projet::class, inversedBy="rubriques")
*/
private $projet;
/**
* @ORM\ManyToMany(targetEntity=Produit::class, mappedBy="rubrique")
*/
private $produits;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $visibility;
/**
* @ORM\OneToMany(targetEntity=ClientProduit::class, mappedBy="rubrique")
*/
private $clientProduits;
public function __construct()
{
$this->projet = new ArrayCollection();
$this->produits = new ArrayCollection();
$this->clientProduits = 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 getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
public function getOrderID(): ?int
{
return $this->OrderID;
}
public function setOrderID(?int $OrderID): self
{
$this->OrderID = $OrderID;
return $this;
}
public function getTypeRub(): ?int
{
return $this->typeRub;
}
public function setTypeRub(?int $type): self
{
$this->typeRub = $type;
return $this;
}
/**
* @return Collection|Projet[]
*/
public function getProjet(): Collection
{
return $this->projet;
}
public function addProjet(Projet $projet): self
{
if (!$this->projet->contains($projet)) {
$this->projet[] = $projet;
}
return $this;
}
public function removeProjet(Projet $projet): self
{
$this->projet->removeElement($projet);
return $this;
}
/**
* @return Collection|Produit[]
*/
public function getProduits(): Collection
{
return $this->produits;
}
public function addProduit(Produit $produit): self
{
if (!$this->produits->contains($produit)) {
$this->produits[] = $produit;
$produit->addRubrique($this);
}
return $this;
}
public function removeProduit(Produit $produit): self
{
if ($this->produits->removeElement($produit)) {
$produit->removeRubrique($this);
}
return $this;
}
public function getVisibility(): ?int
{
return $this->visibility;
}
public function setVisibility(?int $visibility): self
{
$this->visibility = $visibility;
return $this;
}
/**
* @return Collection|ClientProduit[]
*/
public function getClientProduits(): Collection
{
return $this->clientProduits;
}
public function addClientProduit(ClientProduit $clientProduit): self
{
if (!$this->clientProduits->contains($clientProduit)) {
$this->clientProduits[] = $clientProduit;
$clientProduit->setRubrique($this);
}
return $this;
}
public function removeClientProduit(ClientProduit $clientProduit): self
{
if ($this->clientProduits->removeElement($clientProduit)) {
// set the owning side to null (unless already changed)
if ($clientProduit->getRubrique() === $this) {
$clientProduit->setRubrique(null);
}
}
return $this;
}
}