繁体   English   中英

如何创建 Codeigniter 批量插入数组

[英]How to create Codeigniter batch insert array

如何创建一个 CI 批量插入数组,就像

$data = array(
   array(
      'title' => 'My title' ,
      'name' => 'My Name' ,
      'date' => 'My date'
   ),
   array(
      'title' => 'Another title' ,
      'name' => 'Another Name' ,
      'date' => 'Another date'
   )
);

从我的正常数组是

Array
(
    [0] => Array
        (
            [track_id] => 
            [camp_id] => 1
            [field_name] => email_title
            [field_value] => sample
        )

    [1] => Array
        (
            [track_id] => 
            [camp_id] => 1
            [field_name] => email_date
            [field_value] => 2013-07-02
        )

    [2] => Array
        (
            [track_id] => 
            [camp_id] => 1
            [field_name] => email_template
            [field_value] => 2
        )
)

试试这个:

$data = array(
   array(
      'title' => 'My title' ,
      'name' => 'My Name' ,
      'date' => 'My date'
   ),
   array(
      'title' => 'Another title' ,
      'name' => 'Another Name' ,
      'date' => 'Another date'
   )
);

$this->db->insert_batch('mytable', $data); 

有关更多信息,请阅读此处

这是您的数据在控制器

$dataForDb[0]['track_id']=$data['track_id'];
$dataForDb[0]['camp_id']=$data['camp_id'];
$dataForDb[0]['field_name']=$data['field_name'];
$dataForDb[0]['field_value']=$data['field_value'];

$dataForDb[1]['track_id']=$data['track_id'];
$dataForDb[1]['camp_id']=$data['camp_id'];
$dataForDb[1]['field_name']=$data['field_name'];
$dataForDb[1]['field_value']=$data['field_value'];

$dataForDb[2]['track_id']=$data['track_id'];
$dataForDb[2]['camp_id']=$data['camp_id'];
$dataForDb[2]['field_name']=$data['field_name'];
$dataForDb[2]['field_value']=$data['field_value'];

$fid=$this->model_modelName->functionName($dataForDb);

在模型处插入数据作为批量插入

$this->db->insert_batch($table, $data);

你的阵列没问题。 只需将您的数组放入一个变量中

$data=array();//put your array

接着

 $this->db->insert_batch('yourTable', $data);

如果您遇到任何问题,请告诉我。

您的正常数组结构与批量插入的数组结构匹配..

所以只需使用批量插入查询来插入数据。

 $this->db->insert_batch('yourTable', $data);  

$data 是你的普通数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM