php - 按相同字段分组并显示为 1 个部门

标签 php html mysql laravel

我有一个返回消息的集合,但是,我想按“主题”和“发件人”对它们进行分组,为每个主题创建 1 个 div,并显示最新的 create_at。

所以我有:

id |发件人 ID |接收者ID |主题 |留言 |创建于

我的 Controller :

 $messages = Message::where('receiverId', \Auth::user()->name)
                 ->orderBy('created_at','desc')
                 ->paginate(10); 

  return view('chat')->with(compact('messages'));

所以这有效:dd($messages[0]->subject)。另外,在我看来,我可以使用 @foreach 将其用作 $message->created_at。目前看起来是这样的(未列出主题):

*yIZgT0oqH - 是名称

enter image description here

如何按 subjectsenderId 对它们进行分组,并使用最新消息 (created_at) 将它们显示为 1 组 (1 div) >)?最好的方法是什么?

最佳答案

您可以使用groupBy/聚合来修改查询以执行类似的操作。

$messages = Message::where('receiverId', \Auth::user()->name)
                 ->groupBy('subject')
                 ->orderBy('created_at','desc')
                 ->paginate(10); 

检查文档是否有相同的内容 - http://laravel.com/docs/5.1/queries#ordering-grouping-limit-and-offset

关于php - 按相同字段分组并显示为 1 个部门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33227664/

相关文章:

javascript - 使用 php 导出 mysql 被 javascript 阻止

html - 使用 HTML 标签从 QString 获取纯文本

php - PHP 中的 UNION MySQL 结果将取决于第一个选择的列

mysql - 如何通过 SSL 连接将 Django 连接到 MySQL 数据库?

php - 从 HTML 表单调用 PHP API?

php - 跨表查询,用于显示评论和线程名称,而这两个值位于不同的表中

php - 如何修复 PHP XML 站点地图编码错误

Android - Html 类 - fromHtml - 它是如何工作的?

html - 如果页面变小,如何将按钮移到新行

mysql - 从计数 SQL 中选择 MAX