簡體   English   中英

Codeigniter活動記錄-查詢3個表

[英]Codeigniter active record - query 3 tables

我需要使用3個表進行查詢,但我遇到了一些麻煩。 我的項目中有3張桌子:

projectsprojects_categories categoriescategories

projects

  • id_project
  • 標題
  • 日期

projects_categories

  • id_proj_cat
  • id_project
  • id_category

categories

  • id_category
  • 名稱

我已經進行了聯接查詢,但是結果是一個具有相同project_id的數組顯示了幾次。 我需要的是一個更高效的查詢,該查詢可以為每個project_id列出內部的數組及其類別和名稱。 這樣的事情。

我可以進行一個單獨的查詢,但我想在一個查詢中實現這一點。

嘗試這個

    $this->db->from("projects p");
    $this->db->select("p.id_project,c.categories,c.name");
    $this->db->join("projects_categories pc","pc.id_project = p.id_project","LEFT");
    $this->db->join("categories c","c.id_category = pc.id_category","LEFT");
    $result=$this->db->get()->result_array();

現在,$ result是您的數組。

試試這個:

$this->db->select('p.id_project,c.categories,c.name');
$this->db->from('projects p');
$this->db->join("projects_categories pc","p.id_project = pc.id_project","INNER");
$this->db->join("categories c","pc.id_category = c.id_category","INNER");
$query = $this->db->get();
return $query->result_array();

暫無
暫無

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

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