我有一个查询根据今天的日期获取记录。我的问题是我需要今天的日期和时间,而不仅仅是日期。我希望所有记录的开始日期和时间都是今天上午9:30而不是上午12点。
我使用$today
作为当前日期时间。每次用户加载页面时,都会比较当前日期时间以查看它是否在注册期限内
$today = new DateTime('today');
$programs = ScheduledProgram::where('registration_start_date', '<=', $today)
->where('end_date', '>=', $today)
->get();
我的registration_start_date
字段属于date
类型,而不是datetime
。但我的服务器已经充满了数据。
有没有办法可以将时间添加到查询中以获取registration_start_date + 9:30
?
或者我应该运行迁移来更改registration_start_date
的字段类型?以及所有基础记录?
答案 0 :(得分:0)
您可以使用自定义日期和时间范围创建变量,例如
$programs = ScheduledProgram::where('registration_start_date', '>=', $today_start)
->where('end_date', '<=', $today_end)
->get();
然后在查询中使用这些变量
{{1}}
请注意,我更改了&gt;和&lt;签署查询。
答案 1 :(得分:0)
你最好选择碳日期。请执行以下操作
use Carbon\Carbon
在你的方法中添加这个
$today = Carbon::today()->setTime(9,30,0);
我测试了它。有用。 希望这会有所帮助。