0

大家好,我遇到了一个我无法弄清楚的问题。我有一个包含几列的数据库。标题、正文、开始和结束。

开始和结束列是日期时间类型。我的数据库中有包含开始日期和结束日期的行。

我正在尝试选择日期范围内的所有行。在这种情况下,跨度为 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);
});

提前致谢。如果我先弄清楚,我会发布我的答案。

4

1 回答 1

3

您调用的比较运算符where()是向后的。您的代码现在的方式是,您只选择今天开始和结束的传单。你想要的是这样的:

$data['flyers'] = Flyer::where('start', '<=', $start)->where('end', '>=', $end)->get();
于 2013-09-24T20:11:42.307 回答