2013-02-21 57 views
0

我正在使用CodeIgniter構建一個webapp,但我對它很陌生。 我有不同部分的首頁使用數據庫中的不同數據陣列。跨多個視圖的CodeIgniter持久數據

我想要的是從基礎控制器加載數據一次,並擴展此控制器並在多個視圖中重複使用這些數據。

我不想做的是重複跨其他控制器相同的數據庫調用。

這甚至可能嗎?

我現在擁有的是:

class MY_Controller extends CI_Controller 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
     $data['somevar'] = $this->some_model->get(); 
    } 

} 

我想用$ somevar在foreach循環在頁面的一個部分。

注意:我正在使用模板庫。

任何幫助將不勝感激。

回答

1

您需要了解的是,頁面的每次刷新都會重新加載整個CI應用程序(以便每次頁面加載都會發生構造函數調用)。因此,從一個視圖到下一個視圖的數據調用沒有持久性(因爲您的確在談論新的頁面)。

您必須想出另一種持久化數據的方式 - 可以存儲在cookie,客戶端存儲,會話或服務器端緩存中。這樣,數據就可以在單獨的頁面視圖中使用,而不需要一遍又一遍的重複請求。

+0

謝謝你的迴應。 – Maurice 2013-02-22 08:15:25