Codeigniter:批量插入数组到DB

时间:2017-07-03 18:22:46

标签: php codeigniter

我在codeigniter中上传了多个文件。我需要在数据库中存储以下值。我将file_name作为0,1,2的数组等等(最大值取决于用户的操作),folder_idcreated作为固定值。

对于每个file_name(0,1,2 ....),folder_id&必须在表格中插入created

array (size=4)
  'file_name' => 
    array (size=3)
      0 => string '1.jpg' (length=5)
      1 => string '2.jpg' (length=5)
      2 => string '10_deepak.jpg' (length=13)
  'folder_id' => string '5' (length=1)
  'created' => string '2017-07-03 23:42:42' (length=19)

到目前为止,我已尝试过以下内容;

$data = array(
             'file_name' => $data['file_name'] ,
             'created' => $data['created'] ,
             'folder_id' => $data['folder_id']
                );
         $this->db->insert('ins_files', $data); 

当我尝试的时候,我也遇到了Array to String转换错误。

1 个答案:

答案 0 :(得分:0)

根据您的代码。以下是您可以使用的简单方法。

$array = array(
    'file_name' => array(
      '1.jpg',
      '2.jpg',
      '10_deepak.jpg',
    ),
    'folder_id' => 5,
    'created' => '2017-07-03 23:42:42'
);
// encode the files name in Json array better 
// approach other you can also implode them to store

$data = array(
   'file_name' => json_encode($array['file_name']),
   'folder_id' => $array['folder_id'],
   'created' => $array['created'],
);
// Verify the data array
// echo '<pre>'; print_r($data);
$this->db->insert('ins_files', $data);