在Laravel中,可以使用groupBy()和orderBy()方法来实现按月分组并按日期排序的查询。下面是一个示例:
$posts = Post::selectRaw('MONTH(created_at) as month, YEAR(created_at) as year, COUNT(*) as total')
->groupBy('year', 'month')
->orderBy('year', 'desc')
->orderBy('month', 'desc')
->get();
上面的代码将从Post模型中选择created_at字段的月份和年份,并计算每个月份的总记录数。然后使用groupBy()方法按照年份和月份进行分组。最后,使用orderBy()方法按照年份和月份进行降序排序。
你可以根据自己的需求调整查询条件和排序方式。在返回的结果中,每个月份的记录将按照年份和月份的降序顺序排列。
希望这个解决方案对你有所帮助!