我正在使用Codeigniter,我有一个看起来像这样的表:
+----+-------+------+-----------+--------------+
| id | user | post | action | added |
+----+-------+------+-----------+--------------+
| 1 | ann | 1 | commented | <date added> |
| 2 | sarah | 1 | commented | <date added> |
| 3 | carol | 1 | liked | <date added> |
| 4 | susan | 1 | commented | <date added> |
| 5 | derek | 2 | liked | <date added> |
| 6 | ann | 1 | liked | <date added> |
+----+-------+------+-----------+--------------+
在活动Feed上,我根据时间输出了所有帖子。最近的第一次。
Ann喜欢帖子1 德里克喜欢帖子2 苏珊评论了第1篇帖子 carol喜欢帖子1 莎拉评论了第1篇 ann评论了第1篇
如何通过活动对帖子进行分组? 例如
Ann和另外1人喜欢的帖子1 德里克喜欢帖子2 Susan和另外2人对第1篇评论
我最好从数据库中获取所有信息,然后在页面加载之前通过php对其进行排序?或者我在查询中执行某种GroupBy?
TIA。
答案 0 :(得分:0)
我不是codeigniter专家,但使用原始SQL查询,你可以很容易地做到这一点。试试这个:
$query = "SELECT * FROM activity_feed_table_name GROUP BY post";
我正在检查codeigniter文档,其活动记录实现支持groupBy子句。
$this->db->get('yourActivityFeedTable');->group_by("post");
我在相当长一段时间内没有使用CI,所以我不记得确切的语法,但这可能会让你走上正轨。如果有效,请告诉我们!