我々は二つのテーブル、スクリーンショットを添付しているは、どのように私は、MySQLは、最新の返信との会話を手配するために結合を使用してください
このテーブルは以下のように命名され
メッセージとして名付けられ、この表会話
生徒がメッセージを送信するたびに、会話テーブルはc上書きはconvo
の一意のIDで存在し、sender_id
という名前のデータベースにメッセージreceiver_id
がユニークなIDとしてconvo
という単一の生徒と教師の会話でユニークなconversation_idとして表示されます。
私たちがしたいことは、facebookのような会話を表示し、最新の会話が一番上になるようにすることです。私たちはcreated_atで最新のメッセージを見つけるつもりです。もちろん、学生は会話しか見ることができません彼は、そのための適切なMySQLのクエリを記述することができない、我々はここで立ち往生している、私たちを助けて、始めた私たちは、CodeIgniterのフレームワークを使用している私たちのバックエンドのために
これまでのところ、我々はこの思い付いた、しかし
を動作していないように思えます$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);
$query = $this->db->get();
ordを設定する必要があるようです( "created_at"、 "desc"); 'これは、メッセージを作成した時間順に並べ替えます。最新のものを使用します。 – gabe3886
はい、オーダーを設定する必要があります(created_atまたはidフィールドによって)をDESCの順序で返します。また、私は私の結合フィールドとしてvarcharを使用するか分からない。 – cfnerd