laravel - 通过DATE(created_at)将分组数据分组

时间:2013-11-22 14:12:46

标签: pagination group-by laravel laravel-4

我想显示按日期分组的照片。它可以工作,但只有两个查询,没有分页。有没有办法只使用一个查询,laravels paginate()? 我需要最近5天(只有那些有照片的人),然后每页总共5天。

问题是,我想要分页,而不是图片。

    $days = Pic::select(DB::raw('DATE(created_at) as datum'))
                   ->distinct()
                   ->orderBy('datum','desc')
                   ->take(5)
                   ->get();

$daysarray = array();
foreach($days as $day)
{
   $pics = Pic::where(DB::raw('DATE(created_at)'),'=',$day->datum)
                    ->orderBy('id','desc')
                    ->get();

   $daysarray[$day->datum] = $pics;
}

2 个答案:

答案 0 :(得分:4)

我相信您必须使用两个查询才能对日期进行分页。以下内容适用于该位。

$days = Pic::select(DB::raw('DATE(created_at) as datum'))
    ->distinct()
    ->orderBy('datum','desc')
    ->paginate(5);

答案 1 :(得分:0)

                    $selectboxtwo = DB::table('downloads')
                    ->distinct('date')
                    ->groupBy('date')
                    ->lists('date');
                    dd($selectboxtwo); // making sure if it works. you can see the following array is produced.

array(3){[0] => string(10)“2014-03-09”[1] => string(10)“2015-06-22”[2] => string(10)“2015-06-23”}

希望它有所帮助。