2017-07-03 7 views
0

私はcodeigniterに複数のファイルをアップロードしています。私はデータベース内に以下の値を格納する必要があります。私はfile_nameを0,1,2の配列として持ちます(最大値はユーザーの動作に依存します)、folder_idcreatedを固定値とします。すべてfile_name(0,1,2 ...)についてCodeigniter:DBに配列を一括して挿入する

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変換エラーを得ました。

+0

このようなデータを渡すことはできません。ファイル名ごとに別々の配列を作成する必要があります。 – aynber

+0

okファイル名ごとに別々の配列を取得する方法 – Keynes

+0

自分で構築する必要があります。 – aynber

答えて

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

これ以上のサポートが必要な場合はお知らせください。 :) –

+0

Broは、すべてのデータ( 'file_name')が1行に格納されているように保存されています。別の行にそれぞれの' file_name'ごとに保存します。それぞれの 'file_name'に' folder_id'、 'created' [すべての行に共通です] – Keynes

+0

あなたの問題の説明が必要です –

関連する問題