我的表格中有一个名为date
的列,其类型为TIMESTAMP
。
我正在尝试添加一个非常简单的范围,该范围将返回具有明天日期的所有结果。
我想我希望能够做到这样的事情:
public function scopeTomorrow($query)
{
return $query->where('date', function ($date) {
return \Carbon\Carbon::parse($date)->isTomorrow();
});
}
但$date
变量目前只是查询构建器。
如何创建一个接受该值的where
语句并对其进行某种检查?
答案 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);
}