我想按年份和月份对帖子或新闻进行分组,我该怎么做例如这种格式2019 apr [发布1,发布2]可能[发布1,发布2]2018年4月[第1篇,第2篇] 5月[第1篇,第2篇]
2 回答
![?](http://img1.sycdn.imooc.com/54584c5e0001491102200220-100-100.jpg)
慕娘9325324
TA贡献1783条经验 获得超4个赞
您可以结合使用laravel雄性和Carbon
use Carbon\Carbon;
$news = New::select('id', 'title', 'created_at')
->get()
->groupBy(function($date) {
return Carbon::parse($date->created_at)->format('Y');
});
![?](http://img1.sycdn.imooc.com/54584d9f0001043b02200220-100-100.jpg)
catspeake
TA贡献1111条经验 获得超0个赞
默认情况下,我们只能使用主键进行分组。如果要添加具有其他属性的分组依据,则必须ONLY_FULL_GROUP_BY通过在以下代码上添加以下代码来启用sql模式config/database.php
'mysql' => [
.....
'modes' => [
'ONLY_FULL_GROUP_BY',
],
推荐模式:
'STRICT_ALL_TABLES',
'ERROR_FOR_DIVISION_BY_ZERO',
'NO_ZERO_DATE',
'NO_ZERO_IN_DATE',
'NO_AUTO_CREATE_USER',
'NO_ENGINE_SUBSTITUTION',
启用该模式后,您可以在此处尝试查询,该查询按年份和月份返回结果组。
DB::table('posts')->groupBy([DB::raw("MONTH(posts_date)"), DB::raw("YEAR(posts_date)")])
->get();
我希望这能帮到您
- 2 回答
- 0 关注
- 238 浏览
添加回答
举报
0/150
提交
取消