Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 如何重置用户';一天中的某个时间过去后,你的进步如何?_Php_Mysql_Sql_Laravel_Eloquent - Fatal编程技术网

Php 如何重置用户';一天中的某个时间过去后,你的进步如何?

Php 如何重置用户';一天中的某个时间过去后,你的进步如何?,php,mysql,sql,laravel,eloquent,Php,Mysql,Sql,Laravel,Eloquent,为这个超具体的标题道歉,以下是我正在尝试做的,我被困在逻辑上了 用户可以设置一天中希望其目标重置的时间,即上午4:00(UTC),并通过服务器上的调度每分钟运行一个命令 如何查询数据库,使其仅获取今天尚未重置且在指定时间之后的目标 该表有一个进度字段和重置时间字段 到目前为止我有 $goals = \App\Goal::whereTime('reset_time', '>=', \Carbon\Carbon::now()->toTimeString()) ->get();

为这个超具体的标题道歉,以下是我正在尝试做的,我被困在逻辑上了

用户可以设置一天中希望其目标重置的时间,即上午4:00(UTC),并通过服务器上的调度每分钟运行一个命令

如何查询数据库,使其仅获取今天尚未重置且在指定时间之后的目标

该表有一个
进度
字段和
重置时间
字段

到目前为止我有

$goals = \App\Goal::whereTime('reset_time', '>=', \Carbon\Carbon::now()->toTimeString())
  ->get();

foreach ($goals as $goal) {
  $goal->progress = 0;
  $goal->save();
}
但在4:00AM示例中,将查询4:01-23:59之间的任何内容,导致每分钟重置一次进度


我应该如何解决这个问题?

我认为最好的方法是使用计划,每分钟,然后你需要让所有需要重置的用户都重置,然后重置所有这些users@AgeValed是的,我知道日程安排!我更多的是询问如何正确地查询数据库,因为我的示例无法按预期的方式工作。请检查此项,了解如何使时间段超出日期时间。如果你有12小时的格式,你可能需要小心处理。如果您有24小时格式,您可以轻松地将字符串与时间段进行比较。请您在应用程序设计方面增加一点背景知识,以更新您的问题,因为您正试图实现的目标有点不清楚。具体来说,我们需要理解为什么“4:01-23:59之间的任何内容都会被查询”是错误的,因为它似乎符合您所解释的要求。如果你能解释一下重置意味着什么(例如:
null
progress值),那会很有帮助。@sam解释得更清楚一点,很抱歉!