我有一个这样的课:
class Student { const GENDER_MALE = "male",GENDER_FEMALE = "female"; /** * @var string $gender * * @ORM\Column(name="gender",type="string",length=50,nullable=false) * @Assert\NotBlank(message="Gender cannot be blank",groups={"new"}) * @Assert\Choice(choices = {"male","female"},message = "Choose a valid gender.",groups={"new"}) */ private $gender;
我必须硬编码“男”和“女”的价值观.有可能做这样的事情吗?
choices = {self::GENDER_MALE,self::GENDER_FEMALE}
这是
Doctrine2 Annotation Reader (Constants)的一个特点.
你的解决方案
class Student { const GENDER_MALE = "male",GENDER_FEMALE = "female"; /** * @var string $gender * * @ORM\Column(name="gender",nullable=false) * @Assert\NotBlank(message="Gender cannot be blank",groups={"new"}) * @Assert\Choice( * choices = { * Student::GENDER_FEMALE: "Female",* Student::GENDER_MALE: "Male" * },* message = "Choose a valid gender.",groups={"new"} * ) */ private $gender; }