Laravel分页仅按年和月分组

时间:2019-03-25 01:11:10

标签: php laravel-5

我想从laravel中分页,仅按年份和月份分组
当我使用get时,效果很好

$data = DB::table('gallery')
        ->select(DB::raw('DATE_FORMAT(created_at, "%Y-%m") as tanggal,count(created_at) as jumlah'),'gallery.*')
        ->where('type','Foto')
        ->groupBy('tanggal')
        ->orderBy('tanggal','desc')
        ->get();

但是当我使用paginate时,出现错误:
SQLSTATE [42S22]:找不到列:1054'group statement'中的未知列'tanggal'(SQL:从gallery中选择count(*)作为聚合,其中type = Foto group by {{1} })

tanggal

或者对仅按年月度laravel 5.4分组的任何想法?

1 个答案:

答案 0 :(得分:0)

来自https://laravel.com/docs/5.4/pagination

  

当前,使用Laravel无法有效执行使用groupBy语句的分页操作。如果需要使用具有分页结果集的groupBy,建议您查询数据库并手动创建分页器。

这是Jen's Segers's blog

上提供的替代解决方案