2015-04-22 72 views
0

我有一個控制器,我試圖將關聯數組傳遞給我的模型,然後將該數組插入到我的數據庫中。但是,當我將數組$ finalResults傳遞給模型,並嘗試訪問foreach語句時,我得到第一個foreach語句中指示的「爲foreach()提供的無效參數」的錯誤。我對codeIgniter仍然很陌生,所以我不確定是什麼導致了這種情況。無法訪問CodeIgniter中從Controller發送到Model的參數

我的控制器:

class Test extends CI_Controller { 

    public function getResults(){ 

     $this->load->model('Test_model'); 
     $this->load->database(); 

     $finalResults = $this->input->post('answers'); 

     $data['finalResults'] = $finalResults; 

     $this->Test_model->processResults($finalResults); 
    } 
} 

我的模型:

class Test_model extends CI_Model{ 

    public function processResults($finalResults){ 

     foreach ($finalResults as $question){ 
      foreach($question as $key => $value){ 
      $data_to_insert = array(
       $key => $value 
      ); 
      } 
     } 
     $this->db->insert('result', $data_to_insert); 
    } 
} 

我知道,這是很遙遠,從一個完整的解決方案,但這個錯誤是不讓我得到任何進一步。任何與它的幫助表示讚賞!提前致謝!

回答

1

你可以嘗試確認你確實將一個關聯數組傳遞給了foreach循環嗎?

在循環之前添加條件檢查is_array()

if(is_array($finalResults)) 
    foreach($finalResults as $question){ 
     .... 
    } 
} 
+0

這是問題所在。在發送前,我忘了json_decode來自ajax的輸入。感謝您的幫助!現在,如果我可以讓插入工作... – jldavis76

相關問題