大家好,我有问题,我无法弄明白。我有一个包含几列的数据库。标题,正文,开始和结束。
开始和结束列属于日期时间类型。我的数据库中有行的开始和结束日期。
我正在尝试选择属于日期范围的所有行。在这种情况下,24小时跨度。
例如,如果我的行有一个今天的开始日期(2013年9月24日),结束日期是2014年1月1日,我希望它会被退回。
Route::get('/', function()
{
//Start of Day
$start = date('Y-m-d 00:00:00');
//End of Day
$end = date('Y-m-d 23:59:59');
$data['flyers'] = Flyer::where('start', '>=', $start)->where('end', '<=', $end)->get();
//return homepage
return View::make('view', $data);
});
提前致谢。如果我先弄明白,我会发布我的答案。
答案 0 :(得分:2)
where()
来电的比较运算符是向后的。您的代码现在的方式,您只选择今天开始和结束的传单。你想要的是这个:
$data['flyers'] = Flyer::where('start', '<=', $start)->where('end', '>=', $end)->get();