<?php
namespace App\Entity;
use App\Repository\EnqueteEntrepriseRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=EnqueteEntrepriseRepository::class)
*/
class EnqueteEntreprise
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="date_immutable", nullable=true)
*/
private $dateEdition;
/**
* @ORM\Column(type="date_immutable", nullable=true)
*/
private $dateRevision;
/**
* @ORM\Column(type="string", length=15, nullable=true)
*/
private $version;
/**
* @ORM\Column(type="datetime_immutable")
*/
private $createdAt;
/**
* @ORM\OneToMany(targetEntity=EnqueteEntrepriseSectionChildValue::class, mappedBy="enqueteEntreprise",cascade={"persist"})
* @ORM\OrderBy({"createdAt" = "ASC"})
*/
private $enqueteEntrepriseSectionChildValue;
/**
* @ORM\OneToMany(targetEntity=EnqueteEntrepriseResponseLibre::class, mappedBy="enqueteEntreprise",cascade={"persist"})
*/
private $enqueteEntrepriseResponseLibre;
/**
* @ORM\ManyToOne(targetEntity=Session::class)
* @ORM\JoinColumn(nullable=false)
*/
private $session;
/**
* @ORM\ManyToOne(targetEntity=Entreprise::class, inversedBy="enqueteEntreprises")
* @ORM\JoinColumn(nullable=false)
*/
private $entreprise;
public function __construct()
{
$this->enqueteEntrepriseSectionChildValue = new ArrayCollection();
$this->enqueteEntrepriseResponseLibre = new ArrayCollection();
$this->createdAt = new \DateTimeImmutable();
}
public function getId(): ?int
{
return $this->id;
}
public function getDateEdition(): ?\DateTimeImmutable
{
return $this->dateEdition;
}
public function setDateEdition(?\DateTimeImmutable $dateEdition): self
{
$this->dateEdition = $dateEdition;
return $this;
}
public function getDateRevision(): ?\DateTimeImmutable
{
return $this->dateRevision;
}
public function setDateRevision(?\DateTimeImmutable $dateRevision): self
{
$this->dateRevision = $dateRevision;
return $this;
}
public function getVersion(): ?string
{
return $this->version;
}
public function setVersion(?string $version): self
{
$this->version = $version;
return $this;
}
public function getCreatedAt(): ?\DateTimeImmutable
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeImmutable $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
/**
* @return Collection<int, EnqueteEntrepriseSectionChildValue>
*/
public function getEnqueteEntrepriseSectionChildValue(): Collection
{
return $this->enqueteEntrepriseSectionChildValue;
}
public function addEnqueteEntrepriseSectionChildValue(EnqueteEntrepriseSectionChildValue $enqueteEntrepriseSectionChildValue): self
{
if (!$this->enqueteEntrepriseSectionChildValue->contains($enqueteEntrepriseSectionChildValue)) {
$this->enqueteEntrepriseSectionChildValue[] = $enqueteEntrepriseSectionChildValue;
$enqueteEntrepriseSectionChildValue->setEnqueteEntreprise($this);
}
return $this;
}
public function removeEnqueteEntrepriseSectionChildValue(EnqueteEntrepriseSectionChildValue $enqueteEntrepriseSectionChildValue): self
{
if ($this->enqueteEntrepriseSectionChildValue->removeElement($enqueteEntrepriseSectionChildValue)) {
// set the owning side to null (unless already changed)
if ($enqueteEntrepriseSectionChildValue->getEnqueteEntreprise() === $this) {
$enqueteEntrepriseSectionChildValue->setEnqueteEntreprise(null);
}
}
return $this;
}
/**
* @return Collection<int, EnqueteEntrepriseResponseLibre>
*/
public function getEnqueteEntrepriseResponseLibre(): Collection
{
return $this->enqueteEntrepriseResponseLibre;
}
public function addEnqueteEntrepriseResponseLibre(EnqueteEntrepriseResponseLibre $enqueteEntrepriseResponseLibre): self
{
if (!$this->enqueteEntrepriseResponseLibre->contains($enqueteEntrepriseResponseLibre)) {
$this->enqueteEntrepriseResponseLibre[] = $enqueteEntrepriseResponseLibre;
$enqueteEntrepriseResponseLibre->setEnqueteEntreprise($this);
}
return $this;
}
public function removeEnqueteEntrepriseResponseLibre(EnqueteEntrepriseResponseLibre $enqueteEntrepriseResponseLibre): self
{
if ($this->enqueteEntrepriseResponseLibre->removeElement($enqueteEntrepriseResponseLibre)) {
// set the owning side to null (unless already changed)
if ($enqueteEntrepriseResponseLibre->getEnqueteEntreprise() === $this) {
$enqueteEntrepriseResponseLibre->setEnqueteEntreprise(null);
}
}
return $this;
}
public function getSession(): ?Session
{
return $this->session;
}
public function setSession(?Session $session): self
{
$this->session = $session;
return $this;
}
public function getEntreprise(): ?Entreprise
{
return $this->entreprise;
}
public function setEntreprise(?Entreprise $entreprise): self
{
$this->entreprise = $entreprise;
return $this;
}
}