线程消息系统

时间:2011-09-13 21:39:55

标签: 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;
   }

但它只返回每个Sender id的一行数据 如果有人能指出我正确的方向,我真的很感激

1 个答案:

答案 0 :(得分:1)

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

我正在考虑它,因为你在->order_by('post_time','desc')之后拨打group_by,尝试将这两个人切换,在没有分组的情况下订购它们是想法...

Just found this forum with a similar problem