Reputation: 175
I have this array.
Array
(
[customer_id] => Array
(
[customer_id] => 132
)
[file_name] => Array
(
[0] => ht5appletv11.png
[1] => twitter-100px11.png
)
[file_path] => Array
(
[0] => C:/xampp/htdocs/maintenance_assurance_sys/uploads/ht5appletv11.png
[1] => C:/xampp/htdocs/myproject/uploads/twitter-100px11.png
)
)
I want to insert these data into database with Row by Row in CI.But the customer_id is always same in each row. file_name and file_path will change. For example:
How can i do that?
+---------------------------------------------------------------------+
| customer_id | file_name |file_path |
| 132 | ht5appletv11.png | C:/xampp/htodcs/..... |
| 132 | twitter-100px11.png | C:/xampp/htodcs/..... |
+---------------------------------------------------------------------+
Here is my Code...
function insertUploadedFiles($data)
{
foreach ($data as $fileData)
{
$datas[] = array(
'customer_id' => $fileData['customer_id'],
'file_name' => $fileData['file_name'],
'file_path' => $fileData['file_path']
);
}
$this->db->insert_batch('t_customer_file_ref', $datas);
}
But it's only get customer_id and the file_name & file_path show error like this.
Message: Undefined index: file_name
Undefined index: file_path
Upvotes: 2
Views: 66
Reputation: 1438
Please try the below code,
function insertUploadedFiles($data)
{
foreach ($data['file_name'] as $key => $fileData)
{
$datas[] = array(
'customer_id' => $data['customer_id']['customer_id'],
'file_name' => $fileData,
'file_path' => $data['file_path'][$key]
);
}
$this->db->insert_batch('t_customer_file_ref', $datas);
}
I assume that both the file_name and file_path elements will have same indexes like 0, 1, 2 etc.,
Upvotes: 3