src/Entity/Chercheur.php line 12
<?php
namespace App\Entity;
use App\Repository\ChercheurRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: ChercheurRepository::class)]
class Chercheur
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $cin = null;
#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
private ?\DateTimeInterface $dateNaissance = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $grade = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $nom = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $prenom = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $email = null;
#[ORM\ManyToOne(inversedBy: 'chercheurs')]
private ?Etablissement $etablissement = null;
#[ORM\OneToMany(mappedBy: 'responsable', targetEntity: StructureRecherche::class)]
private Collection $structureRecherches;
#[ORM\ManyToOne(inversedBy: 'chercheurs')]
private ?User $user = null;
#[ORM\ManyToOne(inversedBy: 'chercheurs')]
private ?StructureRecherche $structure = null;
#[ORM\OneToMany(mappedBy: 'directeur', targetEntity: Projet::class)]
private Collection $projets;
#[ORM\ManyToMany(targetEntity: Projet::class, mappedBy: 'membres')]
private Collection $membreProjet;
#[ORM\OneToMany(mappedBy: 'chercheur', targetEntity: Membre::class)]
private Collection $membres;
#[ORM\OneToMany(mappedBy: 'chercheur', targetEntity: Auteur::class)]
private Collection $auteurs;
#[ORM\Column(length: 255, nullable: true)]
private ?string $photo = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $specialite = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $biography = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $linkedin = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $orcid = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $p_Google = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $P_Scopus = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $fonction = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $P_Web_Science = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $resarchgate = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $masteres_recherches = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $theses_doctorat = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $dateDebut = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $dateFin = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $projetNationauxIternationaux = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $brevetNationauxInternationaux = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $autreActivites = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $etablissementEnseignement = null;
#[ORM\Column(nullable: true)]
private ?int $etatCin = null;
#[ORM\Column(nullable: true)]
private ?int $etatNaissance = null;
#[ORM\Column(nullable: true)]
private ?int $etatPhone = null;
public function __construct()
{
$this->structureRecherches = new ArrayCollection();
$this->projets = new ArrayCollection();
$this->membreProjet = new ArrayCollection();
$this->membres = new ArrayCollection();
$this->auteurs = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getCin(): ?string
{
return $this->cin;
}
public function setCin(?string $cin): self
{
$this->cin = $cin;
return $this;
}
public function getDateNaissance(): ?\DateTimeInterface
{
return $this->dateNaissance;
}
public function setDateNaissance(?\DateTimeInterface $dateNaissance): self
{
$this->dateNaissance = $dateNaissance;
return $this;
}
public function getGrade(): ?string
{
return $this->grade;
}
public function setGrade(?string $grade): self
{
$this->grade = $grade;
return $this;
}
public function getNom(): ?string
{
return $this->nom;
}
public function setNom(?string $nom): self
{
$this->nom = $nom;
return $this;
}
public function getPrenom(): ?string
{
return $this->prenom;
}
public function setPrenom(?string $prenom): self
{
$this->prenom = $prenom;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(?string $email): self
{
$this->email = $email;
return $this;
}
public function getEtablissement(): ?etablissement
{
return $this->etablissement;
}
public function setEtablissement(?etablissement $etablissement): self
{
$this->etablissement = $etablissement;
return $this;
}
/**
* @return Collection<int, StructureRecherche>
*/
public function getStructureRecherches(): Collection
{
return $this->structureRecherches;
}
public function addStructureRecherch(StructureRecherche $structureRecherch): self
{
if (!$this->structureRecherches->contains($structureRecherch)) {
$this->structureRecherches->add($structureRecherch);
$structureRecherch->setResponsable($this);
}
return $this;
}
public function removeStructureRecherch(StructureRecherche $structureRecherch): self
{
if ($this->structureRecherches->removeElement($structureRecherch)) {
// set the owning side to null (unless already changed)
if ($structureRecherch->getResponsable() === $this) {
$structureRecherch->setResponsable(null);
}
}
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getStructure(): ?StructureRecherche
{
return $this->structure;
}
public function setStructure(?StructureRecherche $structure): self
{
$this->structure = $structure;
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->setDirecteur($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->getDirecteur() === $this) {
$projet->setDirecteur(null);
}
}
return $this;
}
/**
* @return Collection<int, Projet>
*/
public function getMembreProjet(): Collection
{
return $this->membreProjet;
}
public function addMembreProjet(Projet $membreProjet): self
{
if (!$this->membreProjet->contains($membreProjet)) {
$this->membreProjet->add($membreProjet);
$membreProjet->addMembre($this);
}
return $this;
}
public function removeMembreProjet(Projet $membreProjet): self
{
if ($this->membreProjet->removeElement($membreProjet)) {
$membreProjet->removeMembre($this);
}
return $this;
}
/**
* @return Collection<int, Membre>
*/
public function getMembres(): Collection
{
return $this->membres;
}
public function addMembre(Membre $membre): self
{
if (!$this->membres->contains($membre)) {
$this->membres->add($membre);
$membre->setChercheur($this);
}
return $this;
}
public function removeMembre(Membre $membre): self
{
if ($this->membres->removeElement($membre)) {
// set the owning side to null (unless already changed)
if ($membre->getChercheur() === $this) {
$membre->setChercheur(null);
}
}
return $this;
}
public function __toString(): string
{
return $this->nom;
}
/**
* @return Collection<int, Auteur>
*/
public function getAuteurs(): Collection
{
return $this->auteurs;
}
public function addAuteur(Auteur $auteur): self
{
if (!$this->auteurs->contains($auteur)) {
$this->auteurs->add($auteur);
$auteur->setChercheur($this);
}
return $this;
}
public function removeAuteur(Auteur $auteur): self
{
if ($this->auteurs->removeElement($auteur)) {
// set the owning side to null (unless already changed)
if ($auteur->getChercheur() === $this) {
$auteur->setChercheur(null);
}
}
return $this;
}
public function getPhoto(): ?string
{
return $this->photo;
}
public function setPhoto(?string $photo): self
{
$this->photo = $photo;
return $this;
}
public function getSpecialite(): ?string
{
return $this->specialite;
}
public function setSpecialite(?string $specialite): self
{
$this->specialite = $specialite;
return $this;
}
public function getBiography(): ?string
{
return $this->biography;
}
public function setBiography(?string $biography): self
{
$this->biography = $biography;
return $this;
}
public function getLinkedin(): ?string
{
return $this->linkedin;
}
public function setLinkedin(?string $linkedin): self
{
$this->linkedin = $linkedin;
return $this;
}
public function getOrcid(): ?string
{
return $this->orcid;
}
public function setOrcid(?string $orcid): self
{
$this->orcid = $orcid;
return $this;
}
public function getPGoogle(): ?string
{
return $this->p_Google;
}
public function setPGoogle(?string $p_Google): self
{
$this->p_Google = $p_Google;
return $this;
}
public function getPScopus(): ?string
{
return $this->P_Scopus;
}
public function setPScopus(?string $P_Scopus): self
{
$this->P_Scopus = $P_Scopus;
return $this;
}
public function getFonction(): ?string
{
return $this->fonction;
}
public function setFonction(?string $fonction): self
{
$this->fonction = $fonction;
return $this;
}
public function getPWebScience(): ?string
{
return $this->P_Web_Science;
}
public function setPWebScience(?string $P_Web_Science): self
{
$this->P_Web_Science = $P_Web_Science;
return $this;
}
public function getResarchgate(): ?string
{
return $this->resarchgate;
}
public function setResarchgate(?string $resarchgate): self
{
$this->resarchgate = $resarchgate;
return $this;
}
public function getMasteresRecherches(): ?string
{
return $this->masteres_recherches;
}
public function setMasteresRecherches(?string $masteres_recherches): self
{
$this->masteres_recherches = $masteres_recherches;
return $this;
}
public function getThesesDoctorat(): ?string
{
return $this->theses_doctorat;
}
public function setThesesDoctorat(?string $theses_doctorat): self
{
$this->theses_doctorat = $theses_doctorat;
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 getProjetNationauxIternationaux(): ?string
{
return $this->projetNationauxIternationaux;
}
public function setProjetNationauxIternationaux(?string $projetNationauxIternationaux): self
{
$this->projetNationauxIternationaux = $projetNationauxIternationaux;
return $this;
}
public function getBrevetNationauxInternationaux(): ?string
{
return $this->brevetNationauxInternationaux;
}
public function setBrevetNationauxInternationaux(?string $brevetNationauxInternationaux): self
{
$this->brevetNationauxInternationaux = $brevetNationauxInternationaux;
return $this;
}
public function getAutreActivites(): ?string
{
return $this->autreActivites;
}
public function setAutreActivites(?string $autreActivites): self
{
$this->autreActivites = $autreActivites;
return $this;
}
public function getEtablissementEnseignement(): ?string
{
return $this->etablissementEnseignement;
}
public function setEtablissementEnseignement(?string $etablissementEnseignement): self
{
$this->etablissementEnseignement = $etablissementEnseignement;
return $this;
}
public function getEtatCin(): ?int
{
return $this->etatCin;
}
public function setEtatCin(?int $etatCin): self
{
$this->etatCin = $etatCin;
return $this;
}
public function getEtatNaissance(): ?int
{
return $this->etatNaissance;
}
public function setEtatNaissance(?int $etatNaissance): self
{
$this->etatNaissance = $etatNaissance;
return $this;
}
public function getEtatPhone(): ?int
{
return $this->etatPhone;
}
public function setEtatPhone(?int $etatPhone): self
{
$this->etatPhone = $etatPhone;
return $this;
}
}