2013-08-16 54 views
0

说我在我的数据库中的两个表:sitessitetype1从codeigniter的不同表中获取值到单个数组中?

sites有以下栏目:

SlugNameUrl

slug1Site1site1.com

slug2Site2site2.com

sitetype1有以下栏目:

SlugDescription

slug1Description for site1

slug2Description for site2

在codeigniter中,我理想地需要获取这些值,以便它们驻留在name =>slug对中。

所以我试图让一个数组,看起来像:

['Site1' => 'slug1', 'Site2' => 'slug2'] 

以前,我从sitetype1表中读取蛞蝓,然后通过这些循环的非常低效的方法做了并从sites数组中获取相应的name值。这似乎是一个过度复杂的方式。我正在查看连接来完成任务,但我对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" 
    } 
} 
+0

你不可能得到'slug'列,对吗? – Bora

+0

是的...... – styke

+0

你试过$ this-> db-> select('name,slug');或$ this-> db-> select('name,sites.slug as newSlug'); –

回答

0

您应该使用等;)

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

错误:'name','slug'

右:'name, slug'

+0

你几乎是正确的,我发现这是正确的语法:'$ this-> db-> select('name,sitetype1。slu'');' – styke

+0

我错过了;) – Bora

相关问题