簡體   English   中英

聯接三桌

[英]Join three table

請幫助我

我有三個表,分別是公司,管理員和銷售線索。我從公司=用戶名獲取銷售線索的所有數據和一條記錄,從管理員=顯示名稱獲取一條記錄,但在這里我很困惑科茲公司和管理員“ ID”保存在同一字段中..請任何人幫助我..謝謝

從評論中添加:

我的查詢

SELECT inno_admin.display_name,inno_company.Pseudo_name,inno_leads.* FROM inno_leads INNER JOIN inno_company ON inno_company.id = inno_leads.agent_id inno_admin ON inno_admin.id=inno_leads.agent_id ORDER BY ID DESC

試試這個代碼。

只需在條件中添加2。

$name = "any name";
$this->db->select("");// select required fields.
$this->db->join("company","join criteria");
$this->db->join("admin","join criteria");
$this->db->where("company.company_name",$name);
$this->db->where("admin.display_name",$name);
$this->db->group_by("leads.agent_id");//   <------ new line added.
$this->db->get("leads");

不知道這是否會讓您感到困惑。 下面的代碼將讓您獲取所有數據。

http://www.codeigniter.com/user_guide/database/query_builder.html#selecting-data

public function get_data_results() {
    $this->db->select('*');
    $this->db->from('inno_leads', 'LEFT');
    $this->db->join('inno_company', 'inno_company.id = inno_leads.agent_id', 'LEFT');
    $this->db->join('inno_admin', 'inno_admin.id = inno_leads.agent_id', 'LEFT');
    // order_by id up to you but there
    $this->db->order_by('inno_leads.agent_id', 'DESC');
    $query = $this->db->get();

    if ($query->num_rows() > 0) {
        //return $query->result();
        //Or
        //return $query->result_array();
    } else {
        return FALSE;
    }

}

將$ name從控制器傳遞到模型。

public function get_data($name) {
    $this->db->select('*');
    $this->db->from('inno_leads', 'LEFT');
    $this->db->join('inno_company', 'inno_company.id = inno_leads.agent_id', 'LEFT');
    $this->db->join('inno_admin', 'inno_admin.id = inno_leads.agent_id', 'LEFT');
    $this->db->where("inno_company.company_name", $name);
    $this->db->where("inno_admin.display_name", $name);
    $query = $this->db->get();

    if ($query->num_rows() > 0) {
        return $query->row_array();
    } else {
        return FALSE;
    }

}

控制器樣本功能

public function index() {
    $this->load->model('some_model');

   // Note this could be a uri segment also or session data.
   // $name = $this->uri->segment(2); 

    $name = 'Your Company Name'; 

    $company_info = $this->some_model->get_data($name);

    if ($company_info) {

        $data['display_name'] = $company_info['display_name'];

        $this->load->view('home', $data);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM