如何从table2获取所有数据,其中发送方和接收方名称与user(table1)表中的id链接

时间:2017-10-08 14:05:53

标签: mysql

我想显示所有数据.. bt发件人和收件人的名字存储在用户表中。它们在消息表上与其用户ID链接。现在我需要两个名称单行。

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();
}

1 个答案:

答案 0 :(得分:0)

您需要加入user表两次,一次查询发件人数据,另一次查询接收者数据。 如果receiver_id存储在transfer_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();
    }