src/Entity/Produit.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ProduitRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. /**
  9.  * @ORM\Entity(repositoryClass="App\Repository\ProduitRepository")
  10.  */ 
  11. class Produit
  12. {
  13.     /**
  14.      * @ORM\Id()
  15.      * @ORM\GeneratedValue()
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @ORM\Column(type="string", length=255)
  21.      */
  22.     private $nomproduit;
  23.  
  24.     
  25.     /**
  26.      * @ORM\Column(type="text")
  27.      */
  28.     private $journalproduit;
  29.  
  30.     
  31.     /**
  32.      * @ORM\Column(type="datetime", nullable=true)
  33.      */
  34.     private $datesuppressionproduit;
  35.     /**
  36.      * @ORM\Column(type="datetime", nullable=true)
  37.      */
  38.     private $datecreationproduit;
  39.     /**
  40.      * Flag actif/inactif. Par défaut 1 (actif).
  41.      * Un produit inactif reste référencé par les transactions historiques
  42.      * mais n'apparaît plus dans les listes de saisie.
  43.      *
  44.      * @ORM\Column(type="boolean", options={"default":1})
  45.      */
  46.     private $actif true;
  47.     /**
  48.      * @ORM\ManyToMany(targetEntity=Entite::class, mappedBy="produits")
  49.      */
  50.     private Collection $entites;
  51.     public function __construct()
  52.     {
  53.         $this->entites = new ArrayCollection();
  54.     }
  55.     public function getEntites(): Collection { return $this->entites; }
  56.     public function getId(): ?int
  57.     {
  58.         return $this->id;
  59.     }
  60.     public function getNomproduit(): ?string
  61.     {
  62.         return $this->nomproduit;
  63.     }
  64.     public function setNomproduit(string $nomproduit): static
  65.     {
  66.         $this->nomproduit $nomproduit;
  67.         return $this;
  68.     }
  69.     public function getJournalproduit(): ?string
  70.     {
  71.         return $this->journalproduit;
  72.     }
  73.     public function setJournalproduit(string $journalproduit): static
  74.     {
  75.         $this->journalproduit $journalproduit;
  76.         return $this;
  77.     }
  78.     public function getDatesuppressionproduit(): ?\DateTimeInterface
  79.     {
  80.         return $this->datesuppressionproduit;
  81.     }
  82.     public function setDatesuppressionproduit(?\DateTimeInterface $datesuppressionproduit): static
  83.     {
  84.         $this->datesuppressionproduit $datesuppressionproduit;
  85.         return $this;
  86.     }
  87.     public function getDatecreationproduit(): ?\DateTimeInterface
  88.     {
  89.         return $this->datecreationproduit;
  90.     }
  91.     public function setDatecreationproduit(?\DateTimeInterface $datecreationproduit): static
  92.     {
  93.         $this->datecreationproduit $datecreationproduit;
  94.         return $this;
  95.     }
  96.     public function isActif(): bool
  97.     {
  98.         return (bool) $this->actif;
  99.     }
  100.     public function setActif(bool $actif): static
  101.     {
  102.         $this->actif $actif;
  103.         return $this;
  104.     }
  105.     public function toArray(): array
  106.     {
  107.         return [
  108.             'id'                     => $this->id,
  109.             'nomproduit'             => $this->nomproduit,
  110.             'actif'                  => (bool) $this->actif,
  111.             'datecreationproduit'    => $this->datecreationproduit?->format(\DateTimeInterface::ATOM),
  112.             'datesuppressionproduit' => $this->datesuppressionproduit?->format(\DateTimeInterface::ATOM),
  113.         ];
  114.     }
  115. }