2017-10-08 7 views
0

すべてのデータを表示したい。送信者と受信者の名前がユーザーテーブルに格納されている。それらはメッセージテーブル上のユーザーIDでリンクされています。今私は単一の行の名前が両方必要です。user2(table1)テーブルからidとリンクした送信者名と受信者名を持つtable2からすべてのデータを取得する方法

public function all_transferData() 
{ 
    $this->db->select('t.filename, t.message_subject, users.username, users.email'); 
    $this->db->from('transfer_history as t'); 
    $this->db->join('users', 't.sender_id = users.user_id'); 
    $query = $this->db->get(); 

    return $query->result(); 
} 
+0

がtransfer_historyテーブルに格納されているreceiver_idのですか? –

+0

テーブル 'message'に言及しましたが、テーブルのメッセージがテーブルの履歴とユーザにどのようにリンクしているかはわかりませんでした。これらのテーブルがどのようにリンクされているかを見るためには、データベース・ダイアグラム(ERMダイアグラム)を共有してください。 –

答えて

0

あなたは、送信者のデータと受信データを照会するために別のものを照会する1回、2回userテーブルに参加する必要があります。 receiver_idtransfer_historyテーブルに格納されている場合は、次のような何かを試すことができます。

public function all_transferData() 
    { 
     $this->db->select('t.filename, t.message_subject, 
     su.username as sender_name, su.email as sender_email, 
     ru.username as receiver_name, ru.email as receiver_email'); 
     $this->db->from('transfer_history as t'); 
     $this->db->join('users as su', 't.sender_id = su.user_id'); 
     $this->db->join('users as ru', 't.receiver_id = ru.user_id'); 
     $query = $this->db->get(); 

     return $query->result(); 
    } 
関連する問題