src/Entity/Publication.php line 12
<?php
namespace App\Entity;
use App\Repository\PublicationRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: PublicationRepository::class)]
class Publication
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(nullable: true)]
private ?int $annee = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $revue = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $titre = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $doi = null;
#[ORM\ManyToOne(inversedBy: 'publications')]
private ?StructureRecherche $structure = null;
#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
private ?\DateTimeInterface $createdAt = null;
#[ORM\OneToMany(mappedBy: 'publication', targetEntity: Tag::class)]
private Collection $tags;
#[ORM\Column(length: 255, nullable: true)]
private ?string $description = null;
#[ORM\ManyToMany(targetEntity: Auteur::class, inversedBy: 'publications')]
private Collection $auteur;
#[ORM\ManyToOne(inversedBy: 'publications')]
private ?User $user = null;
#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
private ?\DateTimeInterface $updatedAt = null;
#[ORM\ManyToOne(inversedBy: 'publications')]
private ?Projet $projet = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $lieu_conference = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $date_conference = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $page = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $nom_journal = null;
#[ORM\Column(nullable: true)]
private ?int $quartile = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $facteur_impact = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $volume = null;
#[ORM\Column(nullable: true)]
private ?int $rang_conference = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $titreLivre = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $titreConfr = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $titreJournal = null;
public function __construct()
{
$this->tags = new ArrayCollection();
$this->auteur = new ArrayCollection();
}
public function __toString(): string
{
return $this->titre;
}
public function getId(): ?int
{
return $this->id;
}
public function getAnnee(): ?int
{
return $this->annee;
}
public function setAnnee(?int $annee): self
{
$this->annee = $annee;
return $this;
}
public function getRevue(): ?string
{
return $this->revue;
}
public function setRevue(?string $revue): self
{
$this->revue = $revue;
return $this;
}
public function getTitre(): ?string
{
return $this->titre;
}
public function setTitre(?string $titre): self
{
$this->titre = $titre;
return $this;
}
public function getDoi(): ?string
{
return $this->doi;
}
public function setDoi(?string $doi): self
{
$this->doi = $doi;
return $this;
}
public function getStructure(): ?StructureRecherche
{
return $this->structure;
}
public function setStructure(?StructureRecherche $structure): self
{
$this->structure = $structure;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(?\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
/**
* @return Collection<int, Tag>
*/
public function getTags(): Collection
{
return $this->tags;
}
public function addTag(Tag $tag): self
{
if (!$this->tags->contains($tag)) {
$this->tags->add($tag);
$tag->setPublication($this);
}
return $this;
}
public function removeTag(Tag $tag): self
{
if ($this->tags->removeElement($tag)) {
// set the owning side to null (unless already changed)
if ($tag->getPublication() === $this) {
$tag->setPublication(null);
}
}
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
/**
* @return Collection<int, Auteur>
*/
public function getAuteur(): Collection
{
return $this->auteur;
}
public function addAuteur(Auteur $auteur): self
{
if (!$this->auteur->contains($auteur)) {
$this->auteur->add($auteur);
}
return $this;
}
public function removeAuteur(Auteur $auteur): self
{
$this->auteur->removeElement($auteur);
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
public function getProjet(): ?Projet
{
return $this->projet;
}
public function setProjet(?Projet $projet): self
{
$this->projet = $projet;
return $this;
}
public function getLieuConference(): ?string
{
return $this->lieu_conference;
}
public function setLieuConference(?string $lieu_conference): self
{
$this->lieu_conference = $lieu_conference;
return $this;
}
public function getDateConference(): ?\DateTimeInterface
{
return $this->date_conference;
}
public function setDateConference(?\DateTimeInterface $date_conference): self
{
$this->date_conference = $date_conference;
return $this;
}
public function getPage(): ?string
{
return $this->page;
}
public function setPage(?string $page): self
{
$this->page = $page;
return $this;
}
public function getNomJournal(): ?string
{
return $this->nom_journal;
}
public function setNomJournal(?string $nom_journal): self
{
$this->nom_journal = $nom_journal;
return $this;
}
public function getQuartile(): ?int
{
return $this->quartile;
}
public function setQuartile(?int $quartile): self
{
$this->quartile = $quartile;
return $this;
}
public function getFacteurImpact(): ?string
{
return $this->facteur_impact;
}
public function setFacteurImpact(?string $facteur_impact): self
{
$this->facteur_impact = $facteur_impact;
return $this;
}
public function getVolume(): ?string
{
return $this->volume;
}
public function setVolume(?string $volume): self
{
$this->volume = $volume;
return $this;
}
public function getRangConference(): ?int
{
return $this->rang_conference;
}
public function setRangConference(?int $rang_conference): self
{
$this->rang_conference = $rang_conference;
return $this;
}
public function getTitreLivre(): ?string
{
return $this->titreLivre;
}
public function setTitreLivre(?string $titreLivre): self
{
$this->titreLivre = $titreLivre;
return $this;
}
public function getTitreConfr(): ?string
{
return $this->titreConfr;
}
public function setTitreConfr(?string $titreConfr): self
{
$this->titreConfr = $titreConfr;
return $this;
}
public function getTitreJournal(): ?string
{
return $this->titreJournal;
}
public function setTitreJournal(?string $titreJournal): self
{
$this->titreJournal = $titreJournal;
return $this;
}
}