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

时间:2017-05-30 15:30:27

标签: php mysql laravel datetime eloquent

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

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

我要做的是抓住Y-m-d H: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);
}

我做错了什么? 提前谢谢。

3 个答案:

答案 0 :(得分:10)

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

->whereDate('date', '>=', Carbon::now('Europe/Stockholm'))

答案 1 :(得分:3)

您可以在此处使用:

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

答案 2 :(得分:1)

对于Laravel的测试案例:

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