我有这样的课:
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;
我必须对值 "male"
和 "female"
进行硬编码。有可能做这样的事情吗?
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", type="string", length=50,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;
}
关于php - 如何在 symfony 2 php 中访问注释中的类变量和常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30670117/