2015-04-17 28 views
1

我试图在Mysql中保存表单数据。但嵌套数组造成问题。使用活动记录代码点燃器在Mysql中保存数组阵列

Array ([name] => Custom Project 
     [number] => 08883 
     [key] => Array ([0] => Server Cost 
         [1] => Domain Cost 
         [2] => Design Charges, 
         ) 
     [value] => Array ([0] => 098 
          [1] => 765 
          [2] => 787 
         ) 
    ) 

我使用的是$this->db->insert('invoice',$array),它插入的数据没有嵌套数组。

那么,有没有一种方法,我可以单独从上面阵列此嵌套数组,然后保存此嵌套数组到另一个表只有两列keyvalue

回答

0

我使用了非常简单的方法,我推一个阵列到另一个,因为结果是笨插入方法进行处理。

//Item description 
     $description=$_POST['key']; 

     //item amount 
     $amount=$_POST['value']; 

     $big_array=array(); 

     for($i=0; $i<sizeof($description); $i++){ 

       $small_array=array('description'=>$description[$i],'amount'=>$amount[$i]); 

       array_push($big_array,$small_array); 
      } 

     //adding data into model 
     $this->my_Model->InsertData($big_array); 
2

你可以只使用array_combine创建密钥对的值:

function save_value($array) 
{ 
    $key_value = array_combine($array['key'], $array['value']); 
    $this->db->insert('table_name', $key_value); 
} 
+0

它没有帮助,但我想出了自己 –