2013-07-29 44 views
0

我已經在CI中編寫了這個函數,並且由於各種原因,我需要將數組的內容分配給變量以便稍後在控制器中使用。代碼點火器:從控制器訪問數組元素

由於這種遺留代碼的設置方式,我需要從控制器訪問數組的元素。如何從下面的函數獲取$ data ['oneResult']中的數組元素。我已經嘗試了一些像element()助手一樣的東西。什麼都沒有在調試模式下,我看到了我所需要的數據,並在這一點上,我需要分配,所以我想這樣做:

$holdID = $data['oneResult']['contact_id']; 
$holdLoc = $data['oneResult']['location']; etc. 


public function getOneValue(){ 
    $this->load->model('get_contents'); 
    $data['oneResult'] = $this->get_contents->getSpecificRow(); 
    $data['title'] = 'One Record - Contacts table view'; 
    $this->load->view('contacts_view', $data); 
} 

我在CI 2測試這一點,但需要它的工作在CI 1.7

任何人都可以告訴我如何做到這一點嗎?

回答

0

使全球variablw和數據分配給它..

class something extend CI_controller{ 
    var $holdID =''; 
    var $holdLoc = ''; etc. 

    public function __construct() { 
     .... 
    } 
    public function index(){ 
     ... 
    } 

    public function getOneValue(){ 
     $this->load->model('get_contents'); 
     $data['oneResult'] = $this->get_contents->getSpecificRow(); 
     $this->holdID = $data['oneResult']['contact_id']; //<----here assing value to global var 
     $this->holdLoc = $data['oneResult']['location']; //<--here 
     $data['title'] = 'One Record - Contacts table view'; 
     $this->load->view('contacts_view', $data); 
    } 

} 
0

我想你想你正在訪問控制器下一次的數據是可用的。 在這種情況下,由於codeigniter的體系結構和功能,全局變量將不會保留該值。

這裏有可能的方法,我可以建議:

1)聲明會話變量和使用(不是一個非常有效的一個) 2)在配置文件中聲明的變量(首選和可能只是做的伎倆。爲你)。

如果以上兩者中的任何一個都無法解決您的問題,請詳細說明您的使用案例。
會給它一個新的嘗試。

- 尋求者01

相關問題