嗨,我有一个表名messages
我想从两个用户之间的聊天对话中获得最后一条消息。如何从聊天对话中获取最新消息?
表 -
id from_id to_id text created
========================================
1 1 2 hi 2014-12-01 10:30:10
2 2 1 Hello 2014-12-01 10:30:20
3 3 1 Hi chinu 2014-12-01 10:32:02
4 3 1 hw r u? 2014-12-01 10:32:22
5 2 1 h r u? 2014-12-01 10:33:01
请检查我的查询=
//$user_id=$this->Session->read('Auth.User.id');
$user_id=1;
$fields=array('DISTINCT(Message.from_id), Message.id, Message.text, Message.created');
$this->Paginator->settings = array(
'conditions'=>array('Message.to_id'=>$user_id),
'limit' => 30,
'order' => array(
'Message.created' => 'DESC',
'Message.id' => 'DESC'
),
'fields'=>$fields,
'group'=>array('Message.from_id')
);
$inbox = $this->Paginator->paginate('Message');
pr($inbox);
$this->set('inbox', $inbox);
我想2和3 ID的最后消息会话。输出看起来像 -
id from_id to_id text created
========================================
5 2 1 h r u? 2014-12-01 10:33:01
4 3 1 hw r u? 2014-12-01 10:32:22
请帮助我。如果你不知道cakephp,请在这里发布核心的PHP MySQL查询。
感谢 chatfun
预期的输出并不像'3'之间2和看起来像'2和1''之间和3 1 ' – 2014-12-04 13:28:52
是的,但我不想列出我自己的ID – Developer 2014-12-04 13:29:28
添加'WHERE'子句'WHERE Message.from_id <> $ user_id' – divaka 2014-12-04 13:35:13