实体每天自动更新
Automatic update of entity every day
我正在使用 Symfony 3 创建我的作品集,我想用我的经验来展示我的技能。
我有一个带有 "startAt" 参数(类型=日期时间)和 "exp" 参数(字符串)的 "Skill" 实体。
"exp" 参数 = "startAt" 与当前日期之间的差异。
我添加了一些生命周期回调,因此每次我触摸 "Skill" 实体时 "exp" 参数都会更新,但这是我的问题:
如何在不接触实体的情况下每天更新它?
例如我现在有 "exp = 6 months" 但下个月这个参数需要是“7 个月”。
创建一个命令来更新您的实体并使用它创建一个 cron 选项卡
由于"startAt"很可能映射到数据库中名为"start_at"的字段名称,这个日期就是您需要设置和存储的所有数据。实体中名为 getExp() 的方法映射到变量 "exp",然后将获取 $this->startAt() 值并计算开始时间与当前时间之间的差值。您可以使用 PHP DateTime 对象来计算以天、月或年为单位的差异,具体取决于您的偏好。
此外,"exp" 不需要是您需要存储或映射到数据库的字段,因为它可以很容易地根据 "startAt" 日期值即时计算。
我正在使用 Symfony 3 创建我的作品集,我想用我的经验来展示我的技能。
我有一个带有 "startAt" 参数(类型=日期时间)和 "exp" 参数(字符串)的 "Skill" 实体。
"exp" 参数 = "startAt" 与当前日期之间的差异。
我添加了一些生命周期回调,因此每次我触摸 "Skill" 实体时 "exp" 参数都会更新,但这是我的问题:
如何在不接触实体的情况下每天更新它?
例如我现在有 "exp = 6 months" 但下个月这个参数需要是“7 个月”。
创建一个命令来更新您的实体并使用它创建一个 cron 选项卡
由于"startAt"很可能映射到数据库中名为"start_at"的字段名称,这个日期就是您需要设置和存储的所有数据。实体中名为 getExp() 的方法映射到变量 "exp",然后将获取 $this->startAt() 值并计算开始时间与当前时间之间的差值。您可以使用 PHP DateTime 对象来计算以天、月或年为单位的差异,具体取决于您的偏好。
此外,"exp" 不需要是您需要存储或映射到数据库的字段,因为它可以很容易地根据 "startAt" 日期值即时计算。