<?php
namespace App\Entity;
use App\Repository\ProDescriptionRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: ProDescriptionRepository::class)]
class ProDescription
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\ManyToOne(inversedBy: 'proDescriptions')]
private ?User $pro = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $description = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $language = null;
#[ORM\Column(nullable: true)]
private ?bool $isOriginal = null;
public function getId(): ?int
{
return $this->id;
}
public function getProDescription(string $language): ?string
{
// Si la langue correspond à celle demandée, on retourne cette description
if ($this->getLanguage() === $language) {
return $this->getDescription();
}
// Si c'est l'originale et aucune langue spécifique n'est trouvée
if ($this->isIsOriginal()) {
return $this->getDescription();
}
return null; // Aucune description trouvée
}
public function getPro(): ?User
{
return $this->pro;
}
public function setPro(?User $pro): static
{
$this->pro = $pro;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): static
{
$this->description = $description;
return $this;
}
public function getLanguage(): ?string
{
return $this->language;
}
public function setLanguage(?string $language): static
{
$this->language = $language;
return $this;
}
public function getIsOriginal(): ?bool
{
return $this->isOriginal;
}
public function setIsOriginal(?bool $isOriginal): static
{
$this->isOriginal = $isOriginal;
return $this;
}
}