<?php
declare(strict_types=1);
namespace Croisiland\CommonBundle\Entity\Cabin;
use Crea\ToolsBundle\Entity\LifecycleUserIdentifierTrait;
use Croisiland\CommonBundle\Repository\Cabin\CabinCategoryCharacteristicValueRepository;
use Croisiland\CommonBundle\Annotation\Cabin\CabinCategoryCharacteristicValueFormValidator;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=CabinCategoryCharacteristicValueRepository::class)
* @ORM\Table(
* name="cabin_category_characteristic_value",
* uniqueConstraints={
* @ORM\UniqueConstraint(
* name="unique_cabin_category_characteristic_pair",
* columns={"cabin_category_id", "cabin_category_characteristic_id"}
* )
* }
* )
* @CabinCategoryCharacteristicValueFormValidator(groups={"cabin_category_characteristic_value_form_validator"})
*/
class CabinCategoryCharacteristicValue
{
use LifecycleUserIdentifierTrait;
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private ?int $id = null;
/**
* Catégorie de cabine concernée par cette valeur.
*
* @ORM\ManyToOne(targetEntity="CabinCategory", inversedBy="cabinCategoryCharacteristicValues")
* @ORM\JoinColumn(nullable=false)
*/
private ?CabinCategory $cabinCategory;
/**
* Caractéristique associée à cette valeur.
*
* @ORM\ManyToOne(targetEntity="CabinCategoryCharacteristic", inversedBy="cabinCategoryCharacteristicValues")
* @ORM\JoinColumn(nullable=false)
*/
private ?CabinCategoryCharacteristic $cabinCategoryCharacteristic;
/**
* Valeur minimum de la caractéristique (ex: "20", "4", "true").
* Stockée en string pour permettre une flexibilité (nombres, booléens, texte).
*
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $valueMin = null;
/**
* Valeur maximum de la caractéristique (ex: "20", "4", "true").
* Stockée en string pour permettre une flexibilité (nombres, booléens, texte).
*
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $valueMax = null;
public function getId(): ?int
{
return $this->id;
}
public function getCabinCategory(): ?CabinCategory
{
return $this->cabinCategory;
}
public function setCabinCategory(?CabinCategory $cabinCategory): self
{
$this->cabinCategory = $cabinCategory;
return $this;
}
public function getCabinCategoryCharacteristic(): ?CabinCategoryCharacteristic
{
return $this->cabinCategoryCharacteristic;
}
public function setCabinCategoryCharacteristic(?CabinCategoryCharacteristic $cabinCategoryCharacteristic): self
{
$this->cabinCategoryCharacteristic = $cabinCategoryCharacteristic;
return $this;
}
public function getValueMin(): ?string
{
return $this->valueMin;
}
public function setValueMin(?string $valueMin): self
{
$this->valueMin = $valueMin;
return $this;
}
public function getValueMax(): ?string
{
return $this->valueMax;
}
public function setValueMax(?string $valueMax): self
{
$this->valueMax = $valueMax;
return $this;
}
}