所以我有一个任务表,它有一个时间字段和一个"分钟"字段.我想只获取基于时间和分钟字段的记录,类似于:
$tasks = Task::whereTime('time', '<=', Carbon::now()->addMinutes(DB::raw('minutes'))->format('H:i'))->get();
假设一项任务在03:00到期,因此时间字段将为03:00.正好在任务到期前30分钟,我想收到通知,所以当当前时间是02:30时.
因此,在本例中,"分钟"字段为30.现在,在获取记录时,我使用了上面的查询.它不起作用,但以下方法起作用:
$tasks = Task::whereTime('time', '<=', Carbon::now()->addMinutes(30)->format('H:i'))->get();
也许有一种更容易/更好的方法来实现这一点,但我只想从数据库中获取要使用的记录,而不想在获取所有记录之后执行多次判断.因此,我的问题是,这是否可以使用eloquent来完成,或者我是否应该只获取所有记录并在循环所有任务后执行一些时间判断?