我想在实体的属性中添加一个Assert\Expression。当所选的“生效日期”(this.getEffective())是过去或今天时,应该弹出错误消息。我只是无法弄清楚如何将该日期与今天的日期进行比较。
/**
* @var boolean
* @ORM\Column(type="boolean", nullable=true)
* @Assert\Expression(
* "this.getEffective() > today",
* message="The effective date must be in the future!")
*/
private $status_stealth;
我尝试了使用now或datetime.now()进行相同的操作,并且我已经在Google上搜索了很多,但我没有找到有人实际比较另一个值与当前日期的断言表达式。
你有什么想法吗?
DateTimeImmutable
更好。 - Oleg Belostotskythis.getStatusStealth() && this.getEffective() > this.getCurrentDate()
。 - M Khalid JunaidDateTimeImmutable
而不是DateTime
。在这种情况下,它更加正确。另外我添加了答案,请阅读。 - Oleg Belostotsky