0

假设我的数据库中有两个表: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对中。

所以我试图得到一个看起来像这样的数组:

['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"
  }
}
4

1 回答 1

0

你应该使用like ;)

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

错误的: 'name','slug'

正确的: 'name, slug'

于 2013-08-16T14:35:44.093 回答