使用codeigniter从不同表中获取值到单个数组中?

时间:2013-08-16 14:26:31

标签: php mysql codeigniter activerecord

假设我的数据库中有两个表:sitessitetype1

sites包含以下列:

Slug Name Url

slug1 Site1 site1.com

slug2 Site2 site2.com

sitetype1包含以下列:

Slug Description

slug1 Description for site1

slug2 Description for site2

在codeigniter中,理想情况下我需要获取这些值,以便它们位于name => slug对{/ p>

所以我试图得到一个类似于:

的数组
['Site1' => 'slug1', 'Site2' => 'slug2']

以前,我是通过一种非常低效的方法从sitetype1表中获取slug然后循环遍历这些并从name数组中获取相应的sites值来完成的。这似乎是一种过于复杂的方式。我正在寻找加入来完成任务,但我对MySQL非常糟糕,需要一些帮助。

我试过这个:

$this->db->select('name','slug');
$this->db->from('sites');
$this->db->join('sitetype1', 'sitetype1.slug = sites.slug','inner');

但是它只返回相应的name值。任何人都可以从这里帮助我吗?

这是它返回的一个例子:

array(2) {
  [0]=>
  object(stdClass)#22 (1) {
    ["name"]=>
    string(5) "Site1"
  }
  [1]=>
  object(stdClass)#23 (1) {
    ["name"]=>
    string(5) "Site2"
  }
}

1 个答案:

答案 0 :(得分:0)

你应该使用like;)

$this->db->select('sites.name, sitetype1.slug');

错误: 'name','slug'

右: 'name, slug'