2016-07-20 61 views
-2

有我的代码:如何插入多维数组在笨数据库

Array 
(
    [head_family] => 1234 
    [house_name] => abc 
    [house_no] => 12 
    [relationship] => son 
    [family_ms_id] => KERTVMPMJF318 
    [member_ms_id] => KERTVMPMJM318 
) 
Array 
(
    [head_family] => varun 
    [house_name] => nila 
    [house_no] => 12 
    [relationship] => son 
    [family_ms_id] => KERTVMPMJF318 
    [member_ms_id] => KERTVMPMJM318 
) 

控制器:

$this->Enrollment_model->add_member($appended); 

型号:

function add_member($appended) { 
     $this->db->insert('members', $appended); 
     return $this->db->insert_id(); 
} 
+0

检查http://stackoverflow.com/questions/17875706/how-to-create-codeigniter-batch-insert-array – Saty

+0

'$ this-> db-> insert_batch' – splash58

+0

请让我们知道你想要做什么... –

回答

0

使用$this->db->insert_batch();

您可以将数组或对象传递给函数。下面是使用的数组的例子:

$appended= array(
     array(
      'head_family' => '1234', 
      'house_name' => 'abc', 
      'house_no' => '12' 
     ), array(
      'head_family' => 'varun', 
      'house_name' => 'nila', 
      'house_no' => '12' 
     ) 
    ); 

你的模型

  function add_member($appended) { 
      $this->db->insert_batch('members', $appended); 
      } 

第一个参数将包含表名,第二个是值的数组。

http://www.codeigniter.com/user_guide/database/query_builder.html#inserting-data


你的控制器$this->Enrollment_model->add_member($appended);

+0

请在你的答案中使用ALL CAPS 。 –

0

一个很好的做法将被插入的JSON字符串。 因此,首先创建一个类型的数据库列作为LONGTEXT

然后在模型中使用此:

function add_member($appended) { 
    $json_array = json_encode($appended); 
     $this->db->insert('members', $json_array); 
     return $this->db->insert_id(); 
} 

而且从数据库中获取的时候:

$appended = json_decode($json_array);