线程消息传递系统


Threaded Messaging System

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

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)将收件箱中的消息分组,而不是将用户收到的每条新消息显示为新行。因此,框中发给user的所有消息都分组在发送它的用户下,并显示来自该用户的最新消息。

i have try

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;
   }

但是它只为每个Sender id返回一行数据如果有人能告诉我正确的方向,我将非常感激

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

我认为这是因为你把->order_by('post_time','desc')叫做group_by之后,试着把这两个调换一下,在它们没有分组的时候给它们排序,这是我的想法…

刚刚发现这个论坛有一个类似的问题