Php 在一天结束时,在Laravel中用雄辩和碳元素终止行

Php 在一天结束时,在Laravel中用雄辩和碳元素终止行,php,laravel,php-carbon,Php,Laravel,Php Carbon,我有一份工作,该工作应在列中指定的日期结束时结束 因此,如果到期日为2018年11月5日,则该工作应在该日期的11:59到期 我目前的问题是: $job_posts = JobPost::where('expires_on', '<', Carbon::now()) ->where('status', '<>', 'Closed') ->get(); 这意味着我的原始代码理论上应该执行此任务,因为任务到期时间不再是午夜(00:00:00)检查日期是

我有一份工作,该工作应在列中指定的日期结束时结束

因此,如果到期日为2018年11月5日,则该工作应在该日期的11:59到期

我目前的问题是:

$job_posts = JobPost::where('expires_on', '<', Carbon::now())
    ->where('status', '<>', 'Closed')
    ->get();

这意味着我的原始代码理论上应该执行此任务,因为任务到期时间不再是午夜(00:00:00)

检查日期是否小于“明天”:


$job\u posts=JobPost::where('expires\u on',”使用
setTimeFromTimeString
函数将指定的时间添加到
现在的

请参见函数的结果:

dd([Carbon::now(), Carbon::now()->setTimeFromTimeString("23:59")]);
输出为:

Carbon @1541421688 {#1418 ▼
  date: 2018-11-05 16:11:28.810618 Asia/Tehran (+03:30)
}
Carbon @1541449740 {#1420 ▼
  date: 2018-11-05 23:59:00.0 Asia/Tehran (+03:30)
}
因此,在查询中,您可以按如下方式使用该函数:

$job_posts = JobPost::where('expires_on', '<', Carbon::now()->setTimeFromTimeString("23:59"))
    ->where('status', '<>', 'Closed')
    ->get();

$job\u posts=JobPost::where('expires\u on',”,那么你为什么不通过添加时间
11:59
来修改
Carbon::now()
?或者检查时间是否小于
Carbon::tomory()
?是的,他可以简单地修改你从
Carbon::now()返回时调用的
where
代码的初始行中的时间
这似乎有点奇怪,我不记得Carbon有一个支持这些参数的
where
函数。想想看,我能不能用你在
Carbon::明天()返回时调用
where
也有同样的问题
作为OP。我不认为这是你想要做的。至少我不记得
Carbon
有这样的功能。
$job_posts = JobPost::where('expires_on','<', Carbon::tomorrow())
    ->where('status', '<>', 'Closed')
    ->get();
dd([Carbon::now(), Carbon::now()->setTimeFromTimeString("23:59")]);
Carbon @1541421688 {#1418 ▼
  date: 2018-11-05 16:11:28.810618 Asia/Tehran (+03:30)
}
Carbon @1541449740 {#1420 ▼
  date: 2018-11-05 23:59:00.0 Asia/Tehran (+03:30)
}
$job_posts = JobPost::where('expires_on', '<', Carbon::now()->setTimeFromTimeString("23:59"))
    ->where('status', '<>', 'Closed')
    ->get();