Codeigniter活动记录 - 查询3个表

时间:2014-11-20 20:52:03

标签: php codeigniter

我需要使用3个表进行查询,我遇到了一些麻烦。 我的项目中有3个表:

projectsprojects_categoriescategories

projects

  • id_project
  • 标题
  • 日期

projects_categories

  • id_proj_cat
  • id_project
  • id_category

categories

  • id_category
  • 名称

我已经创建了一个连接查询,但结果是一个显示多次相同project_id的数组。 我需要的是一个更有效的查询,可以为每个project_id列出一个内部数组,包括它的类别和名称。这样的事情。

我可以进行单独的查询,但我试图在一个查询中实现它。

2 个答案:

答案 0 :(得分:1)

试试这个

    $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是你的数组。

答案 1 :(得分:1)

试试这个:

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