src/Entity/StructureRecherche.php line 12
<?php
namespace App\Entity;
use App\Repository\StructureRechercheRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: StructureRechercheRepository::class)]
class StructureRecherche
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $nomLong = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $nomCourt = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $nomArabe = null;
#[ORM\Column(nullable: true)]
private ?int $type = null;
#[ORM\Column(nullable: true)]
private ?int $etat = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $adresse = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $email = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $siteWeb = null;
#[ORM\ManyToOne(inversedBy: 'structureRecherches')]
private ?Chercheur $responsable = null;
#[ORM\ManyToOne(inversedBy: 'structureRecherches')]
private ?Etablissement $etablissement = null;
#[ORM\OneToMany(mappedBy: 'structure', targetEntity: Chercheur::class)]
private Collection $chercheurs;
#[ORM\OneToMany(mappedBy: 'structure', targetEntity: Projet::class)]
private Collection $projets;
#[ORM\OneToMany(mappedBy: 'structure', targetEntity: Publication::class)]
private Collection $publications;
#[ORM\OneToMany(mappedBy: 'structure', targetEntity: OffreRecherche::class)]
private Collection $offreRecherches;
#[ORM\Column(length: 255, nullable: true)]
private ?string $logo = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $description = null;
#[ORM\Column(length: 255)]
private ?string $code = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $image1 = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $image2 = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $image3 = null;
#[ORM\ManyToOne(inversedBy: 'structureRecherches')]
private ?DomaineScientifique $domaine = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $docPdf = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $nomDocPdf = null;
#[ORM\OneToMany(mappedBy: 'structureRecherche', targetEntity: Materiel::class)]
private Collection $materiels;
public function __construct()
{
$this->chercheurs = new ArrayCollection();
$this->projets = new ArrayCollection();
$this->publications = new ArrayCollection();
$this->offreRecherches = new ArrayCollection();
$this->materiels = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getNomLong(): ?string
{
return $this->nomLong;
}
public function setNomLong(?string $nomLong): self
{
$this->nomLong = $nomLong;
return $this;
}
public function getNomCourt(): ?string
{
return $this->nomCourt;
}
public function setNomCourt(?string $nomCourt): self
{
$this->nomCourt = $nomCourt;
return $this;
}
public function getNomArabe(): ?string
{
return $this->nomArabe;
}
public function setNomArabe(?string $nomArabe): self
{
$this->nomArabe = $nomArabe;
return $this;
}
public function getType(): ?int
{
return $this->type;
}
public function setType(?int $type): self
{
$this->type = $type;
return $this;
}
public function getEtat(): ?int
{
return $this->etat;
}
public function setEtat(?int $etat): self
{
$this->etat = $etat;
return $this;
}
public function getAdresse(): ?string
{
return $this->adresse;
}
public function setAdresse(?string $adresse): self
{
$this->adresse = $adresse;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(?string $email): self
{
$this->email = $email;
return $this;
}
public function getSiteWeb(): ?string
{
return $this->siteWeb;
}
public function setSiteWeb(?string $siteWeb): self
{
$this->siteWeb = $siteWeb;
return $this;
}
public function getResponsable(): ?Chercheur
{
return $this->responsable;
}
public function setResponsable(?Chercheur $responsable): self
{
$this->responsable = $responsable;
return $this;
}
public function getEtablissement(): ?etablissement
{
return $this->etablissement;
}
public function setEtablissement(?etablissement $etablissement): self
{
$this->etablissement = $etablissement;
return $this;
}
/**
* @return Collection<int, Chercheur>
*/
public function getChercheurs(): Collection
{
return $this->chercheurs;
}
public function addChercheur(Chercheur $chercheur): self
{
if (!$this->chercheurs->contains($chercheur)) {
$this->chercheurs->add($chercheur);
$chercheur->setStructure($this);
}
return $this;
}
public function removeChercheur(Chercheur $chercheur): self
{
if ($this->chercheurs->removeElement($chercheur)) {
// set the owning side to null (unless already changed)
if ($chercheur->getStructure() === $this) {
$chercheur->setStructure(null);
}
}
return $this;
}
/**
* @return Collection<int, Projet>
*/
public function getProjets(): Collection
{
return $this->projets;
}
public function addProjet(Projet $projet): self
{
if (!$this->projets->contains($projet)) {
$this->projets->add($projet);
$projet->setStructure($this);
}
return $this;
}
public function removeProjet(Projet $projet): self
{
if ($this->projets->removeElement($projet)) {
// set the owning side to null (unless already changed)
if ($projet->getStructure() === $this) {
$projet->setStructure(null);
}
}
return $this;
}
public function __toString(): string
{
return $this->nomLong;
}
/**
* @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->setStructure($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->getStructure() === $this) {
$publication->setStructure(null);
}
}
return $this;
}
/**
* @return Collection<int, OffreRecherche>
*/
public function getOffreRecherches(): Collection
{
return $this->offreRecherches;
}
public function addOffreRecherch(OffreRecherche $offreRecherch): self
{
if (!$this->offreRecherches->contains($offreRecherch)) {
$this->offreRecherches->add($offreRecherch);
$offreRecherch->setStructure($this);
}
return $this;
}
public function removeOffreRecherch(OffreRecherche $offreRecherch): self
{
if ($this->offreRecherches->removeElement($offreRecherch)) {
// set the owning side to null (unless already changed)
if ($offreRecherch->getStructure() === $this) {
$offreRecherch->setStructure(null);
}
}
return $this;
}
public function getLogo(): ?string
{
return $this->logo;
}
public function setLogo(?string $logo): self
{
$this->logo = $logo;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
public function getCode(): ?string
{
return $this->code;
}
public function setCode(string $code): self
{
$this->code = $code;
return $this;
}
public function getImage1(): ?string
{
return $this->image1;
}
public function setImage1(?string $image1): self
{
$this->image1 = $image1;
return $this;
}
public function getImage2(): ?string
{
return $this->image2;
}
public function setImage2(?string $image2): self
{
$this->image2 = $image2;
return $this;
}
public function getImage3(): ?string
{
return $this->image3;
}
public function setImage3(?string $image3): self
{
$this->image3 = $image3;
return $this;
}
public function getDomaine(): ?DomaineScientifique
{
return $this->domaine;
}
public function setDomaine(?DomaineScientifique $domaine): self
{
$this->domaine = $domaine;
return $this;
}
public function getDocPdf(): ?string
{
return $this->docPdf;
}
public function setDocPdf(?string $docPdf): self
{
$this->docPdf = $docPdf;
return $this;
}
public function getNomDocPdf(): ?string
{
return $this->nomDocPdf;
}
public function setNomDocPdf(?string $nomDocPdf): self
{
$this->nomDocPdf = $nomDocPdf;
return $this;
}
/**
* @return Collection<int, Materiel>
*/
public function getMateriels(): Collection
{
return $this->materiels;
}
public function addMateriel(Materiel $materiel): self
{
if (!$this->materiels->contains($materiel)) {
$this->materiels->add($materiel);
$materiel->setStructureRecherche($this);
}
return $this;
}
public function removeMateriel(Materiel $materiel): self
{
if ($this->materiels->removeElement($materiel)) {
// set the owning side to null (unless already changed)
if ($materiel->getStructureRecherche() === $this) {
$materiel->setStructureRecherche(null);
}
}
return $this;
}
}