根据laravel中的created_at字段选择记录

时间:2014-06-29 10:37:27

标签: php mysql laravel eloquent

我有4个radio buttons,每个created_at field对应一个时间段:

  • 上周
  • 上个月
  • 最后一天

我想根据这些时间选择数据库记录。

例如,当用户选择上个月时,应显示从上个月到现在的所有记录,但我的{{1}}无法正常工作。

你的想法是什么?

1 个答案:

答案 0 :(得分:1)

Record课程中,我会创建一个查询范围(http://laravel.com/docs/eloquent#query-scopes):

public function scopeCreatedLastXDays($query, $nb)
{
    return $query->where('created_at', '>=', new DateTime('-'.$nb.' days')); 
}

然后我会检查输入:

if (Input::has('last_month'))
    $records = Record::createdLastXDays(30)->get();
if (Input::has('last_week'))
    $records = Record::createdLastXDays(7)->get();