src/Entity/Chercheur.php line 12

  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ChercheurRepository;
  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. #[ORM\Entity(repositoryClassChercheurRepository::class)]
  9. class Chercheur
  10. {
  11.     #[ORM\Id]
  12.     #[ORM\GeneratedValue]
  13.     #[ORM\Column]
  14.     private ?int $id null;
  15.     #[ORM\Column(length255nullabletrue)]
  16.     private ?string $cin null;
  17.     #[ORM\Column(typeTypes::DATE_MUTABLEnullabletrue)]
  18.     private ?\DateTimeInterface $dateNaissance null;
  19.    
  20.     #[ORM\Column(length255nullabletrue)]
  21.     private ?string $grade null;
  22.     #[ORM\Column(length255nullabletrue)]
  23.     private ?string $nom null;
  24.     #[ORM\Column(length255nullabletrue)]
  25.     private ?string $prenom null;
  26.     #[ORM\Column(length255nullabletrue)]
  27.     private ?string $email null;
  28.     #[ORM\ManyToOne(inversedBy'chercheurs')]
  29.     private ?Etablissement $etablissement null;
  30.     #[ORM\OneToMany(mappedBy'responsable'targetEntityStructureRecherche::class)]
  31.     private Collection $structureRecherches;
  32.     #[ORM\ManyToOne(inversedBy'chercheurs')]
  33.     private ?User $user null;
  34.     #[ORM\ManyToOne(inversedBy'chercheurs')]
  35.     private ?StructureRecherche $structure null;
  36.     #[ORM\OneToMany(mappedBy'directeur'targetEntityProjet::class)]
  37.     private Collection $projets;
  38.     #[ORM\ManyToMany(targetEntityProjet::class, mappedBy'membres')]
  39.     private Collection $membreProjet;
  40.     #[ORM\OneToMany(mappedBy'chercheur'targetEntityMembre::class)]
  41.     private Collection $membres;
  42.     #[ORM\OneToMany(mappedBy'chercheur'targetEntityAuteur::class)]
  43.     private Collection $auteurs;
  44.     #[ORM\Column(length255nullabletrue)]
  45.     private ?string $photo null;
  46.     #[ORM\Column(length255nullabletrue)]
  47.     private ?string $specialite null;
  48.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  49.     private ?string $biography null;
  50.     #[ORM\Column(length255nullabletrue)]
  51.     private ?string $linkedin null;
  52.     #[ORM\Column(length255nullabletrue)]
  53.     private ?string $orcid null;
  54.     #[ORM\Column(length255nullabletrue)]
  55.     private ?string $p_Google null;
  56.     #[ORM\Column(length255nullabletrue)]
  57.     private ?string $P_Scopus null;
  58.     #[ORM\Column(length255nullabletrue)]
  59.     private ?string $fonction null;
  60.     #[ORM\Column(length255nullabletrue)]
  61.     private ?string $P_Web_Science null;
  62.     #[ORM\Column(length255nullabletrue)]
  63.     private ?string $resarchgate null;
  64.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  65.     private ?string $masteres_recherches null;
  66.     #[ORM\Column(length255nullabletrue)]
  67.     private ?string $theses_doctorat null;
  68.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  69.     private ?\DateTimeInterface $dateDebut null;
  70.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  71.     private ?\DateTimeInterface $dateFin null;
  72.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  73.     private ?string $projetNationauxIternationaux null;
  74.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  75.     private ?string $brevetNationauxInternationaux null;
  76.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  77.     private ?string $autreActivites null;
  78.     #[ORM\Column(length255nullabletrue)]
  79.     private ?string $etablissementEnseignement null;
  80.     #[ORM\Column(nullabletrue)]
  81.     private ?int $etatCin null;
  82.     #[ORM\Column(nullabletrue)]
  83.     private ?int $etatNaissance null;
  84.     #[ORM\Column(nullabletrue)]
  85.     private ?int $etatPhone null;
  86.    
  87.    
  88.     public function __construct()
  89.     {
  90.         $this->structureRecherches = new ArrayCollection();
  91.         $this->projets = new ArrayCollection();
  92.         $this->membreProjet = new ArrayCollection();
  93.         $this->membres = new ArrayCollection();
  94.         $this->auteurs = new ArrayCollection();
  95.     }
  96.     
  97.     public function getId(): ?int
  98.     {
  99.         return $this->id;
  100.     }
  101.     public function getCin(): ?string
  102.     {
  103.         return $this->cin;
  104.     }
  105.     public function setCin(?string $cin): self
  106.     {
  107.         $this->cin $cin;
  108.         return $this;
  109.     }
  110.     public function getDateNaissance(): ?\DateTimeInterface
  111.     {
  112.         return $this->dateNaissance;
  113.     }
  114.     public function setDateNaissance(?\DateTimeInterface $dateNaissance): self
  115.     {
  116.         $this->dateNaissance $dateNaissance;
  117.         return $this;
  118.     }
  119.    
  120.     public function getGrade(): ?string
  121.     {
  122.         return $this->grade;
  123.     }
  124.     public function setGrade(?string $grade): self
  125.     {
  126.         $this->grade $grade;
  127.         return $this;
  128.     }
  129.     public function getNom(): ?string
  130.     {
  131.         return $this->nom;
  132.     }
  133.     public function setNom(?string $nom): self
  134.     {
  135.         $this->nom $nom;
  136.         return $this;
  137.     }
  138.     public function getPrenom(): ?string
  139.     {
  140.         return $this->prenom;
  141.     }
  142.     public function setPrenom(?string $prenom): self
  143.     {
  144.         $this->prenom $prenom;
  145.         return $this;
  146.     }
  147.     public function getEmail(): ?string
  148.     {
  149.         return $this->email;
  150.     }
  151.     public function setEmail(?string $email): self
  152.     {
  153.         $this->email $email;
  154.         return $this;
  155.     }
  156.     public function getEtablissement(): ?etablissement
  157.     {
  158.         return $this->etablissement;
  159.     }
  160.     public function setEtablissement(?etablissement $etablissement): self
  161.     {
  162.         $this->etablissement $etablissement;
  163.         return $this;
  164.     }
  165.     /**
  166.      * @return Collection<int, StructureRecherche>
  167.      */
  168.     public function getStructureRecherches(): Collection
  169.     {
  170.         return $this->structureRecherches;
  171.     }
  172.     public function addStructureRecherch(StructureRecherche $structureRecherch): self
  173.     {
  174.         if (!$this->structureRecherches->contains($structureRecherch)) {
  175.             $this->structureRecherches->add($structureRecherch);
  176.             $structureRecherch->setResponsable($this);
  177.         }
  178.         return $this;
  179.     }
  180.     public function removeStructureRecherch(StructureRecherche $structureRecherch): self
  181.     {
  182.         if ($this->structureRecherches->removeElement($structureRecherch)) {
  183.             // set the owning side to null (unless already changed)
  184.             if ($structureRecherch->getResponsable() === $this) {
  185.                 $structureRecherch->setResponsable(null);
  186.             }
  187.         }
  188.         return $this;
  189.     }
  190.     public function getUser(): ?User
  191.     {
  192.         return $this->user;
  193.     }
  194.     public function setUser(?User $user): self
  195.     {
  196.         $this->user $user;
  197.         return $this;
  198.     }
  199.     public function getStructure(): ?StructureRecherche
  200.     {
  201.         return $this->structure;
  202.     }
  203.     public function setStructure(?StructureRecherche $structure): self
  204.     {
  205.         $this->structure $structure;
  206.         return $this;
  207.     }
  208.     /**
  209.      * @return Collection<int, Projet>
  210.      */
  211.     public function getProjets(): Collection
  212.     {
  213.         return $this->projets;
  214.     }
  215.     public function addProjet(Projet $projet): self
  216.     {
  217.         if (!$this->projets->contains($projet)) {
  218.             $this->projets->add($projet);
  219.             $projet->setDirecteur($this);
  220.         }
  221.         return $this;
  222.     }
  223.     public function removeProjet(Projet $projet): self
  224.     {
  225.         if ($this->projets->removeElement($projet)) {
  226.             // set the owning side to null (unless already changed)
  227.             if ($projet->getDirecteur() === $this) {
  228.                 $projet->setDirecteur(null);
  229.             }
  230.         }
  231.         return $this;
  232.     }
  233.     /**
  234.      * @return Collection<int, Projet>
  235.      */
  236.     public function getMembreProjet(): Collection
  237.     {
  238.         return $this->membreProjet;
  239.     }
  240.     public function addMembreProjet(Projet $membreProjet): self
  241.     {
  242.         if (!$this->membreProjet->contains($membreProjet)) {
  243.             $this->membreProjet->add($membreProjet);
  244.             $membreProjet->addMembre($this);
  245.         }
  246.         return $this;
  247.     }
  248.     public function removeMembreProjet(Projet $membreProjet): self
  249.     {
  250.         if ($this->membreProjet->removeElement($membreProjet)) {
  251.             $membreProjet->removeMembre($this);
  252.         }
  253.         return $this;
  254.     }
  255.     /**
  256.      * @return Collection<int, Membre>
  257.      */
  258.     public function getMembres(): Collection
  259.     {
  260.         return $this->membres;
  261.     }
  262.     public function addMembre(Membre $membre): self
  263.     {
  264.         if (!$this->membres->contains($membre)) {
  265.             $this->membres->add($membre);
  266.             $membre->setChercheur($this);
  267.         }
  268.         return $this;
  269.     }
  270.     public function removeMembre(Membre $membre): self
  271.     {
  272.         if ($this->membres->removeElement($membre)) {
  273.             // set the owning side to null (unless already changed)
  274.             if ($membre->getChercheur() === $this) {
  275.                 $membre->setChercheur(null);
  276.             }
  277.         }
  278.         return $this;
  279.     }
  280.     public function __toString(): string
  281.     {
  282.         return $this->nom;
  283.     }
  284.     /**
  285.      * @return Collection<int, Auteur>
  286.      */
  287.     public function getAuteurs(): Collection
  288.     {
  289.         return $this->auteurs;
  290.     }
  291.     public function addAuteur(Auteur $auteur): self
  292.     {
  293.         if (!$this->auteurs->contains($auteur)) {
  294.             $this->auteurs->add($auteur);
  295.             $auteur->setChercheur($this);
  296.         }
  297.         return $this;
  298.     }
  299.     public function removeAuteur(Auteur $auteur): self
  300.     {
  301.         if ($this->auteurs->removeElement($auteur)) {
  302.             // set the owning side to null (unless already changed)
  303.             if ($auteur->getChercheur() === $this) {
  304.                 $auteur->setChercheur(null);
  305.             }
  306.         }
  307.         return $this;
  308.     }
  309.     public function getPhoto(): ?string
  310.     {
  311.         return $this->photo;
  312.     }
  313.     public function setPhoto(?string $photo): self
  314.     {
  315.         $this->photo $photo;
  316.         return $this;
  317.     }
  318.     public function getSpecialite(): ?string
  319.     {
  320.         return $this->specialite;
  321.     }
  322.     public function setSpecialite(?string $specialite): self
  323.     {
  324.         $this->specialite $specialite;
  325.         return $this;
  326.     }
  327.     public function getBiography(): ?string
  328.     {
  329.         return $this->biography;
  330.     }
  331.     public function setBiography(?string $biography): self
  332.     {
  333.         $this->biography $biography;
  334.         return $this;
  335.     }
  336.     public function getLinkedin(): ?string
  337.     {
  338.         return $this->linkedin;
  339.     }
  340.     public function setLinkedin(?string $linkedin): self
  341.     {
  342.         $this->linkedin $linkedin;
  343.         return $this;
  344.     }
  345.     public function getOrcid(): ?string
  346.     {
  347.         return $this->orcid;
  348.     }
  349.     public function setOrcid(?string $orcid): self
  350.     {
  351.         $this->orcid $orcid;
  352.         return $this;
  353.     }
  354.     public function getPGoogle(): ?string
  355.     {
  356.         return $this->p_Google;
  357.     }
  358.     public function setPGoogle(?string $p_Google): self
  359.     {
  360.         $this->p_Google $p_Google;
  361.         return $this;
  362.     }
  363.     public function getPScopus(): ?string
  364.     {
  365.         return $this->P_Scopus;
  366.     }
  367.     public function setPScopus(?string $P_Scopus): self
  368.     {
  369.         $this->P_Scopus $P_Scopus;
  370.         return $this;
  371.     }
  372.     public function getFonction(): ?string
  373.     {
  374.         return $this->fonction;
  375.     }
  376.     public function setFonction(?string $fonction): self
  377.     {
  378.         $this->fonction $fonction;
  379.         return $this;
  380.     }
  381.     public function getPWebScience(): ?string
  382.     {
  383.         return $this->P_Web_Science;
  384.     }
  385.     public function setPWebScience(?string $P_Web_Science): self
  386.     {
  387.         $this->P_Web_Science $P_Web_Science;
  388.         return $this;
  389.     }
  390.     public function getResarchgate(): ?string
  391.     {
  392.         return $this->resarchgate;
  393.     }
  394.     public function setResarchgate(?string $resarchgate): self
  395.     {
  396.         $this->resarchgate $resarchgate;
  397.         return $this;
  398.     }
  399.     public function getMasteresRecherches(): ?string
  400.     {
  401.         return $this->masteres_recherches;
  402.     }
  403.     public function setMasteresRecherches(?string $masteres_recherches): self
  404.     {
  405.         $this->masteres_recherches $masteres_recherches;
  406.         return $this;
  407.     }
  408.     public function getThesesDoctorat(): ?string
  409.     {
  410.         return $this->theses_doctorat;
  411.     }
  412.     public function setThesesDoctorat(?string $theses_doctorat): self
  413.     {
  414.         $this->theses_doctorat $theses_doctorat;
  415.         return $this;
  416.     }
  417.     public function getDateDebut(): ?\DateTimeInterface
  418.     {
  419.         return $this->dateDebut;
  420.     }
  421.     public function setDateDebut(?\DateTimeInterface $dateDebut): self
  422.     {
  423.         $this->dateDebut $dateDebut;
  424.         return $this;
  425.     }
  426.     public function getDateFin(): ?\DateTimeInterface
  427.     {
  428.         return $this->dateFin;
  429.     }
  430.     public function setDateFin(?\DateTimeInterface $dateFin): self
  431.     {
  432.         $this->dateFin $dateFin;
  433.         return $this;
  434.     }
  435.     public function getProjetNationauxIternationaux(): ?string
  436.     {
  437.         return $this->projetNationauxIternationaux;
  438.     }
  439.     public function setProjetNationauxIternationaux(?string $projetNationauxIternationaux): self
  440.     {
  441.         $this->projetNationauxIternationaux $projetNationauxIternationaux;
  442.         return $this;
  443.     }
  444.     public function getBrevetNationauxInternationaux(): ?string
  445.     {
  446.         return $this->brevetNationauxInternationaux;
  447.     }
  448.     public function setBrevetNationauxInternationaux(?string $brevetNationauxInternationaux): self
  449.     {
  450.         $this->brevetNationauxInternationaux $brevetNationauxInternationaux;
  451.         return $this;
  452.     }
  453.     public function getAutreActivites(): ?string
  454.     {
  455.         return $this->autreActivites;
  456.     }
  457.     public function setAutreActivites(?string $autreActivites): self
  458.     {
  459.         $this->autreActivites $autreActivites;
  460.         return $this;
  461.     }
  462.     public function getEtablissementEnseignement(): ?string
  463.     {
  464.         return $this->etablissementEnseignement;
  465.     }
  466.     public function setEtablissementEnseignement(?string $etablissementEnseignement): self
  467.     {
  468.         $this->etablissementEnseignement $etablissementEnseignement;
  469.         return $this;
  470.     }
  471.     public function getEtatCin(): ?int
  472.     {
  473.         return $this->etatCin;
  474.     }
  475.     public function setEtatCin(?int $etatCin): self
  476.     {
  477.         $this->etatCin $etatCin;
  478.         return $this;
  479.     }
  480.     public function getEtatNaissance(): ?int
  481.     {
  482.         return $this->etatNaissance;
  483.     }
  484.     public function setEtatNaissance(?int $etatNaissance): self
  485.     {
  486.         $this->etatNaissance $etatNaissance;
  487.         return $this;
  488.     }
  489.     public function getEtatPhone(): ?int
  490.     {
  491.         return $this->etatPhone;
  492.     }
  493.     public function setEtatPhone(?int $etatPhone): self
  494.     {
  495.         $this->etatPhone $etatPhone;
  496.         return $this;
  497.     }
  498.     
  499.     
  500.    
  501.    
  502. }