我们有两张表,附带截图
此表名为message
此表名为会话
现在每次学生发送消息时,会话表都会通过convo
唯一ID检查对话是否存在,然后将消息放在数据库中,sender_id
作为学生{{1}的唯一ID }}作为教师的唯一ID,receiver_id
作为conversation_id,对于每个学生和教师的对话都是唯一的。
我们想要做的是,我们希望显示像facebook这样的对话,最新的对话与最新的消息将在顶部,我们将找到最新的消息与created_at,当然学生只能看到对话他开始,帮助我们,我们被困在这里,无法为它编写正确的mysql查询,我们使用codeigniter框架为我们的后端
到目前为止,我们想出了这个,但似乎无法正常工作
convo
答案 0 :(得分:0)
$this->db->select('*');
$this->db->from($this->conversation_table_name);
$this->db->join($this->message_table_name,'conversation.convo = messages.convo');
$this->db->where('conversation.student',$student_number);
$this->db->group_by("conversation.sender_id");
$this->db->order_by("messages.created_at", "desc");
$query = $this->db->get();