如何在codeigniter中将多维数组插入数据库

时间:2016-07-20 10:20:53

标签: php codeigniter

有我的代码:

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

控制器:

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

型号:

{{1}}

2 个答案:

答案 0 :(得分:0)

希望这会对您有所帮助:

要么像这样使用foreach循环:`

您的模型包含insert()foreach

public function add_member($appended)
{
   if(! empty($appended)) 
   {
      foreach($appended as $append)
      {
         $this->db->insert('members', $append);
      }
   }

}

$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'
       )
      );

您的模型insert_batch()

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

您的控制器

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

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

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

答案 1 :(得分:0)

一种不错的方法是插入JSON字符串。 因此,首先创建一个类型为LONGTEXT

的数据库列

然后在Model中使用它:

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);