无法访问CodeIgniter中从Controller发送到Model的参数

无法访问CodeIgniter中从Controller发送到Model的参数

问题描述:

我有一个控制器,我试图将关联数组传递给我的模型,然后将该数组插入到我的数据库中。但是,当我将数组$ 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); 
    } 
} 

我知道,这是很遥远,从一个完整的解决方案,但这个错误是不让我得到任何进一步。任何与它的帮助表示赞赏!提前致谢!

你可以尝试确认你确实将一个关联数组传递给了foreach循环吗?

在循环之前添加条件检查is_array()

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

这是问题所在。在发送前,我忘了json_decode来自ajax的输入。感谢您的帮助!现在,如果我可以让插入工作... – jldavis76