为了账号安全,请及时绑定邮箱和手机立即绑定

如何在laravel中按年份和月份对新闻或帖子进行分组

如何在laravel中按年份和月份对新闻或帖子进行分组

PHP
摇曳的蔷薇 2021-04-29 15:49:47
我想按年份和月份对帖子或新闻进行分组,我该怎么做例如这种格式2019 apr [发布1,发布2]可能[发布1,发布2]2018年4月[第1篇,第2篇] 5月[第1篇,第2篇]
查看完整描述

2 回答

?
慕娘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');

});


查看完整回答
反对 回复 2021-05-14
?
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();

我希望这能帮到您


查看完整回答
反对 回复 2021-05-14
  • 2 回答
  • 0 关注
  • 238 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信