src/Entity/Projet.php line 12
<?php
namespace App\Entity;
use App\Repository\ProjetRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: ProjetRepository::class)]
class Projet
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $nom = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $objectif = null;
#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
private ?\DateTimeInterface $dateDebut = null;
#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
private ?\DateTimeInterface $dateFin = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $description = null;
#[ORM\Column(nullable: true)]
private ?int $etat = 0;
#[ORM\Column(nullable: true)]
private ?int $statut = null;
#[ORM\ManyToOne(inversedBy: 'projets')]
private ?User $user = null;
#[ORM\ManyToOne(inversedBy: 'projets')]
private ?Chercheur $directeur = null;
#[ORM\ManyToOne]
private ?Theme $theme = null;
#[ORM\OneToMany(mappedBy: 'projet', targetEntity: Membre::class)]
private Collection $membress;
#[ORM\ManyToOne(inversedBy: 'projets')]
private ?StructureRecherche $structure = null;
#[ORM\OneToMany(mappedBy: 'projet', targetEntity: Publication::class)]
private Collection $publications;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $domaineRecherche = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $image = null;
public function __construct()
{
$this->membress = new ArrayCollection();
$this->publications = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getNom(): ?string
{
return $this->nom;
}
public function setNom(?string $nom): self
{
$this->nom = $nom;
return $this;
}
public function getObjectif(): ?string
{
return $this->objectif;
}
public function setObjectif(?string $objectif): self
{
$this->objectif = $objectif;
return $this;
}
public function getDateDebut(): ?\DateTimeInterface
{
return $this->dateDebut;
}
public function setDateDebut(?\DateTimeInterface $dateDebut): self
{
$this->dateDebut = $dateDebut;
return $this;
}
public function getDateFin(): ?\DateTimeInterface
{
return $this->dateFin;
}
public function setDateFin(?\DateTimeInterface $dateFin): self
{
$this->dateFin = $dateFin;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
public function getEtat(): ?int
{
return $this->etat;
}
public function setEtat(?int $etat): self
{
$this->etat = $etat;
return $this;
}
public function getStatut(): ?int
{
return $this->statut;
}
public function setStatut(?int $statut): self
{
$this->statut = $statut;
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getDirecteur(): ?Chercheur
{
return $this->directeur;
}
public function setDirecteur(?Chercheur $directeur): self
{
$this->directeur = $directeur;
return $this;
}
public function getTheme(): ?Theme
{
return $this->theme;
}
public function setTheme(?Theme $theme): self
{
$this->theme = $theme;
return $this;
}
/**
* @return Collection<int, Membre>
*/
public function getMembress(): Collection
{
return $this->membress;
}
public function addMembress(Membre $membress): self
{
if (!$this->membress->contains($membress)) {
$this->membress->add($membress);
$membress->setProjet($this);
}
return $this;
}
public function removeMembress(Membre $membress): self
{
if ($this->membress->removeElement($membress)) {
// set the owning side to null (unless already changed)
if ($membress->getProjet() === $this) {
$membress->setProjet(null);
}
}
return $this;
}
public function getStructure(): ?StructureRecherche
{
return $this->structure;
}
public function setStructure(?StructureRecherche $structure): self
{
$this->structure = $structure;
return $this;
}
public function __toString(): string
{
return $this->nom;
}
/**
* @return Collection<int, Publication>
*/
public function getPublications(): Collection
{
return $this->publications;
}
public function addPublication(Publication $publication): self
{
if (!$this->publications->contains($publication)) {
$this->publications->add($publication);
$publication->setProjet($this);
}
return $this;
}
public function removePublication(Publication $publication): self
{
if ($this->publications->removeElement($publication)) {
// set the owning side to null (unless already changed)
if ($publication->getProjet() === $this) {
$publication->setProjet(null);
}
}
return $this;
}
public function getDomaineRecherche(): ?string
{
return $this->domaineRecherche;
}
public function setDomaineRecherche(?string $domaineRecherche): self
{
$this->domaineRecherche = $domaineRecherche;
return $this;
}
public function getImage(): ?string
{
return $this->image;
}
public function setImage(?string $image): self
{
$this->image = $image;
return $this;
}
}