<?php
namespace App\Entity;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use App\Repository\FormationsRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: FormationsRepository::class)]
#[ORM\Table(name: "formations")]
#[UniqueEntity(
fields: ['theme', 'ville', 'dates_session', 'prix'],
message: 'Cette formation existe déjà.'
)]
class Formations
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
// Relation avec une table Theme (si elle existe)
#[ORM\ManyToOne]
#[ORM\JoinColumn(name: "theme_id", referencedColumnName: "id", nullable: true)]
private ?Themes $theme = null;
// Relation avec table Ville (si elle existe)
#[ORM\ManyToOne]
#[ORM\JoinColumn(name: "ville_id", referencedColumnName: "id", nullable: true)]
private ?Villes $ville = null;
#[ORM\Column(type: "string", nullable: true)]
private ?string $dates_session = null;
#[ORM\Column(type: "decimal", precision: 10, scale: 2, nullable: true)]
private ?string $prix = null;
#[ORM\Column(length: 10, nullable: true, options: ['default' => 'EURO'])]
private ?string $devise = 'EURO';
#[ORM\Column(length: 10, nullable: true)]
private ?string $image;
#[ORM\Column(type: "datetime", nullable: true, options: ['default' => 'CURRENT_TIMESTAMP'])]
private ?\DateTimeInterface $created_at = null;
public function __construct()
{
$this->created_at = new \DateTime();
}
public function getId(): ?int
{
return $this->id;
}
// public function getCatid(): ?Categories { return $this->catid; }
// public function setCatid(?Categories $catid): static { $this->catid = $catid; return $this; }
public function getTheme(): ?Themes{return $this->theme;}
public function setTheme(?Themes $theme): self{$this->theme = $theme;return $this;}
public function getVille(): ?Villes{ return $this->ville;}
public function setVille(?Villes $ville): self{$this->ville = $ville;return $this;}
public function getDatesSession(): ?String{ return $this->dates_session;}
public function setDatesSession(?String $dates_session): self { $this->dates_session = $dates_session;return $this;}
public function getPrix(): ?string{return $this->prix;}
public function setPrix(?string $prix): self{$this->prix = $prix;return $this;}
public function getDevise(): ?string{return $this->devise;}
public function setDevise(?string $devise): self{$this->devise = $devise;return $this;}
public function getImage(): ?string{return $this->image;}
public function setImage(?string $image): self{$this->image = $image;return $this;}
public function getCreatedAt(): ?\DateTimeInterface{return $this->created_at;}
public function setCreatedAt(?\DateTimeInterface $created_at): self {$this->created_at = $created_at;return $this;}
}