Php 线程消息传递系统
我正在构建一个线程消息传递系统,我有以下表格Php 线程消息传递系统,php,mysql,codeigniter,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\u收件箱和conversations\u发件箱有一个外键c
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\u收件箱
和conversations\u发件箱
有一个外键conv\u id
,用于跟踪两个用户之间的消息线程
我在处理邮件收件箱时遇到了一个障碍,我试图按发件人id(S\u 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 我认为这是因为你调用了
->order\u by('post\u time','desc')
在group\u by
之后,试着切换这两个,在它们未分组时对它们进行排序是我的想法