Система потоковых сообщений - PullRequest
0 голосов
/ 14 сентября 2011

Я создаю многопоточную систему обмена сообщениями, у меня есть следующие таблицы

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_inbox и conversation_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;
   }

Но он возвращает только одну строку данных для каждого идентификатора отправителя. Пожалуйста, я был бы очень признателенесли бы кто-то мог указать мне правильное направление

1 Ответ

1 голос
/ 14 сентября 2011

Сначала я скажу, что до сих пор никогда не слышал о codeigniter ...

Я думаю, это потому, что вы звоните ->order_by('post_time','desc') после group_by, попробуйте переключить эти два, упорядочить их, пока они не сгруппированы, это мысль ...

Только что нашел этот форум с похожей проблемой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...