API 平台中的条件必需属性

问题描述 投票:0回答:1

我是 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 = '';

}
php symfony api-platform.com
1个回答
0
投票

您不能像过程编程(即 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 ;
}


}
© www.soinside.com 2019 - 2024. All rights reserved.