Codeigniter活动记录 - 查询3表
我需要使用3个表进行查询,我遇到了一些麻烦。 我已经在我的项目3个表:Codeigniter活动记录 - 查询3表
projects
,和categories
projects
- id_project
- 标题
- 日期
- 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();
现在$结果是你的阵列。
我会努力的!:)谢谢 – 2014-11-20 21:23:12
进出口仍面临着同样的问题。 :([0] =>数组( [id_projecto] => 29 [标题] =>标题1 [数据] => 2012年12月12日[id_categoria] => 2 [nome_categoria] => 架构) [1] =>数组( [id_projecto] => 29 [标题] =>标题1 [数据] => 2012年12月12日[id_categoria] => 3 [nome_categoria] =>康复 ) [2] =>数组( [id_projecto] => 30 [标题] =>标题 2 [数据] => 2021年12月9日[id_categoria] => 4 [nome_categoria] => 设计) [3] =>数组( [id_projecto] => 30 [标题] =>标题 2 [数据] => 2021年12月9日[id_categoria] => 3 nome_categoria]如果与projects_categories表的关系包含所有id_project,如果每一个名字都有id_category然后你可以使用内部join.Just替换词''LEfT'with INNER' => – 2014-11-20 22:19:57
再生。其他明智的选择,在您的statement.like鲜明id_project选择'$这个 - > DB->选择( “DISTINCT(p.id_project)c.categories,c.name”);“ – 2014-11-21 09:14:51
试试这个:
$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();
其简单的加入query.what你有试过吗? – 2014-11-20 20:55:04
是的,我有很多次出现同一个项目。我需要的是每个项目数组中的数组列表。我可以做一个单独的查询......但我试图在一个单一的查询中实现。 – 2014-11-20 21:02:57
你正在寻找什么不清楚你的问题。请在你的问题中显示你想要的数组结构。 – 2014-11-21 05:15:18