Laravel Eloquent计算价值

时间:2016-12-21 18:46:44

标签: php laravel eloquent

我的表格中有一个名为date的列,其类型为TIMESTAMP

我正在尝试添加一个非常简单的范围,该范围将返回具有明天日期的所有结果。

我想我希望能够做到这样的事情:

public function scopeTomorrow($query)
{
    return $query->where('date', function ($date) {
        return \Carbon\Carbon::parse($date)->isTomorrow();
    });
}

$date变量目前只是查询构建器。

如何创建一个接受该值的where语句并对其进行某种检查?

2 个答案:

答案 0 :(得分:1)

你可以这样做:

return $query->where('date', '>=', Carbon::tomorrow())
             ->where('date', '<=', Carbon::tomorrow()->endOfDay());

或者:

return $query->whereBetween('date', [Carbon::tomorrow(), Carbon::tomorrow()->endOfDay()]);

此外,您可能希望将date添加到$dates变量。

答案 1 :(得分:0)

您可以这样做:

public function scopeTomorrow($query)
{
    $tomorrow = \Carbon\Carbon::now()->addDay(1);

    return $query->where('date', '=', $tomorrow);
}