[英]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.