2013-08-16 91 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

相關問題