我是 API 平台的新手,我想问是否有一种方法可以有条件地要求实体的属性。例如,我有一个实体 User,它具有两个属性:HasCar 和 CarModel。仅当 HasCar = true 时才需要 CarModel
这是我的用户类示例,但我不确定如何继续使用条件必需属性
class User {
#[ORM\Column('name: HasCar')]
private bool $hasCar = '';
#[ORM\Column('name: CarModel')]
//#[ApiProperty(required:true)] only if $hasCar = true
private string $carModel = '';
}
您不能像过程编程(即 if 语句)那样将类中的属性定义为“条件”。
你可以试试这个...
class User{
protected $hasCar;
protected $carModel
public function setCar(bool $hasCar): void
{
$this->hasCar = $hasCar;
}
public function getCar(): ?bool
{
return $this->hasCar;
}
public function setCarModel(string $carModel): void
{
if(!$this->hasCar)
{
$carModel = NULL ;
}
$this->carModel = $carModel
}
public function getCarModel(): ?string
{
return $this->carModel ;
}
}