Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony-在不执行方法的情况下检查某些内容_Php_Symfony_Doctrine Orm_Event Handling_Symfony4 - Fatal编程技术网

Php Symfony-在不执行方法的情况下检查某些内容

Php Symfony-在不执行方法的情况下检查某些内容,php,symfony,doctrine-orm,event-handling,symfony4,Php,Symfony,Doctrine Orm,Event Handling,Symfony4,在我的Symfony项目中,我有一个想法来检查我的实体字段“created”。当该日期的创建日期超过两周时,我想用一些数据更新该实体 因为这对我来说是一个新功能,所以我计划编写一个带有DateTime对象的函数来检查它 我想问的另一件事是,如何在不触发特定方法的情况下实现它?可以在页面加载或类似的情况下定期检查它吗 这里的正确方法是什么 事件侦听器是正确的还是我遗漏了其他内容?我建议使用/cronjobs 您可以安排命令/cronjob每天运行一次(或者在需要时运行) 在控制台命令中,您可以获

在我的Symfony项目中,我有一个想法来检查我的实体字段“created”。当该日期的创建日期超过两周时,我想用一些数据更新该实体

因为这对我来说是一个新功能,所以我计划编写一个带有DateTime对象的函数来检查它

我想问的另一件事是,如何在不触发特定方法的情况下实现它?可以在页面加载或类似的情况下定期检查它吗

这里的正确方法是什么

事件侦听器是正确的还是我遗漏了其他内容?

我建议使用/cronjobs

  • 您可以安排命令/cronjob每天运行一次(或者在需要时运行)

  • 在控制台命令中,您可以获得所有具有创建日期且早于指定日期的文章。为此使用条令查询语言(DQL)。我认为你不需要DateTime对象。您可以在DQL中完成这一切

  • (可选)如果需要,可以在实体更新(或设置为过期)后调度事件,并构建监听器以执行其他操作


  • 如果我理解正确,你想阻止在datetime函数中使用特定方法,对吗?请提供一个模型类的示例实际上我想要完成的是检查每个实体对象,如果“已创建”字段在14天前被持久化,则使用“过期”值更新“状态”字段。这是我应该知道怎么做的事情。问题是如何在不触发特定方法终结点的情况下检查和更新id@McSky如果此字段已超过14天,您想做什么?我正试图完全理解你的问题,并建议你以最干净的方式实现你的目标。谢谢你。检查哪个实体的datetime“创建”字段早于两周,并将其状态字段从“活动”更改为“过期”@麦克斯凯如果我明白的话,你可以用cronjob来做