Php Laravel雄辩,其中日期等于或大于DateTime

Php Laravel雄辩,其中日期等于或大于DateTime,php,mysql,laravel,datetime,eloquent,Php,Mysql,Laravel,Datetime,Eloquent,我正在尝试从一个模型中获取关系数据,其中日期列高于或等于当前时间 日期列的格式如下:Y-m-d H:i:s 我想做的是抓住未来Y-m-dh:I:s所在的所有行 示例:假设日期为2017-06-01,时间为09:00:00 然后我想得到所有的行,其中日期在未来,时间在未来 目前,我的代码看起来是这样的,它几乎可以正常工作,但它没有抓取日期为当前日期的行 public function customerCardFollowups() { return $this -> hasMany(

我正在尝试从一个模型中获取关系数据,其中日期列高于或等于当前时间

日期列的格式如下:Y-m-d H:i:s

我想做的是抓住未来Y-m-dh:I:s所在的所有行

示例:假设日期为2017-06-01,时间为09:00:00 然后我想得到所有的行,其中日期在未来,时间在未来

目前,我的代码看起来是这样的,它几乎可以正常工作,但它没有抓取日期为当前日期的行

public function customerCardFollowups() {
    return $this -> hasMany('App\CustomerCardFollowup', 'user_id') -> whereDate('date', '>', Carbon::now('Europe/Stockholm')) -> orderBy('date', 'asc') -> take(20);
}
我做错了什么?
提前感谢。

听起来您需要使用
=
,例如:

->whereDate('date', '>=', Carbon::now('Europe/Stockholm'))
在这里,您可以使用:

->where('date', '>=', date('Y-m-d'))

对于Laravel的测试用例:

$this->assertDatabaseHas('my_table', [
    'name' => $name,
    [ 'updated_at', '>=', $updatedAt ] // $updatedAt is a Carbon object
]);

使用<>代码> 而不是<代码>何处> 如果您想考虑检查中的时间和<代码> > <代码> >而不是<代码> >代码>,我将尝试。感谢您使用“where”来修复它。谢谢这是因为
whereDate
将只使用值的日期部分,而忽略时间。我也尝试过,但它似乎不符合最后的时间。例如,如果日期是正确的,但时间超过了日期列中的时间,则不应获取该日期。只应获取尚未过期的日期(包括时间)。@Kaizokupuffball您是否已修复它?我也遇到了同样的问题,将其替换为仅
where
intead of
whereDate
这将仅比较日期(2020-08-07),而忽略时间部分(12:15:09)。