php - 线程消息系统

标签 php mysql codeigniter

正在构建一个线程消息系统,我有下表

conversations_inbox
id
R_id
S_id
message
read
post_time
conv_id

conversation_outbox 
id
R_id
S_id
message
read
post_time
conv_id

conversation_meta
id
sender_id
reciever_id
datetime

conversations_inboxconversation_outbox 有一个外键 conv_id,用于跟踪两个用户之间的消息传递线程 当我处理消息收件箱时,我遇到了障碍,我尝试按 sender_id(S_id) 对收件箱中的消息进行分组,而不是将用户收到的每条新消息显示为新行。框中发送给用户的消息将分组在发送该消息的用户下,并显示来自该用户的最新消息。

我已经尝试过

function get_user_conversations($user_id) {
       //Load Models
       $this->load->model('conversation_model');
       //Load helper
       $this->load->helper('date');
       //database query
       $q = $this->db->select('R_id,message,post_time,read,conv_id')
                     ->from('conversations_inbox')
                     ->where('R_id',$user_id)
                     ->group_by('S_id')
                     ->order_by('post_time','desc')
                     ->get();
        $conversations = $q->result();
        return $conversations;
   }

但它只为每个发件人 ID 返回一行数据 如果有人能指出我正确的方向,我将非常感激

最佳答案

首先我要声明的是,在此之前我从未听说过 codeigniter...

我认为这是因为你在 group_by 之后调用 ->order_by('post_time','desc') ,尝试切换这两个,在它们同时排序不分组是这样的想法...

Just found this forum with a similar problem

关于php - 线程消息系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7408887/

相关文章:

php - Codeigniter - 无法点击类中的方法

php - 如何使用 3 个键插入或更新 mysql 表

php - 带有位字段的 PDO 准备语句

sql - 帮助优化 SQL While 循环

mysql - codeigniter - 如何重置填充表上的自动增量?

mysql - Codeigniter db 无法在数组中工作

php - 使用javascript获取服务器信息

model-view-controller - 具有主题支持的 PHP 框架?

javascript - 如何使用 php-function-output 作为 javascript 的输入?

MySQL:选择评论及其回复数