2014-03-04 52 views
0

我需要將數據庫中Ext「language」列的內容傳遞到包含各種語言(「en,fr等)」的控制器。 這使我可以發送正確翻譯語言用戶的電子郵件。 也就是說,在我的模型中,我必須將結果傳遞給控制器​​並將其存儲在名爲$ language的變量中。這個變量包含「en,fr等..」:$ message = sprintf($ this-> lang-> line('messaggio.email'),$ language,$ key);Codeigniter - 將模型到控制器的結果傳遞給變量

電子郵件的發送完美,除了我不能設置變量$語言。 我得到這個錯誤: 「嚴重性:注意 消息:數組字符串轉換」

如何設置變量$語言?

這是模型:

public function get_dati() { 
    $this->load->database(); 

    $query = $this->db->query("SELECT * FROM temp_users "); 

    foreach ($query->result_array() as $row) { 
     echo $row['lingua']; 
    } 


    $res = array(
     'lingua' => $row['lingua'] 
    ); 

    return $res; 
} 

這是我的控制器:

$this->load->model('model_users_azienda'); 
$language['teste'] = $this->model_users_azienda->get_dati(); 
// Here I insert the content from database in the variable $ language 
$message = sprintf($this->lang->line('messaggio.email'), $language, $key); 
+0

你不能在'public function get_dati()'方法中回顯。同時檢查sprintf字符串'messaggio.email',因爲它可能試圖將$ language用作字符串而不是數組。 – mic

+0

我覺得如果我打印結果。 – user3311699

+0

如何將數組轉換爲字符串? – user3311699

回答

0

下面的工作。模型函數返回一個數組。所以你需要從數組中使用適當的鍵來獲得語言。

$this->load->model('model_users_azienda'); 
$lang = $this->model_users_azienda->get_dati(); 
// Here I insert the content from database in the variable $ language 
$message = sprintf($this->lang->line('messaggio.email'), $lang['lingua'], $key); 
+0

非常感謝!有用! 我用一個首字母大寫字母 返回查詢「En,En,Fr等...」的值而不是「en,fr等..」我會試着找出原因,再次感謝! – user3311699

相關問題