Как вставить многомерный массив в базу данных в CI?

У меня есть этот массив.

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
)

)

Я хочу вставить эти данные в базу данных с Row by Row в CI. Но customer_id всегда одинаков в каждой строке. имя_файла и путь_файла будут изменены.
Например:

Как я могу это сделать?

+---------------------------------------------------------------------+
|  customer_id     | file_name                |file_path              |
|   132            |  ht5appletv11.png        | C:/xampp/htodcs/..... |
|   132            |  twitter-100px11.png     | C:/xampp/htodcs/..... |
+---------------------------------------------------------------------+

Вот мой код …

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

Но это только получить customer_id и имя_файла & file_path показать ошибку, как это.

Сообщение: неопределенный индекс: имя_файла

Неопределенный индекс: путь_файла

2

Решение

Пожалуйста, попробуйте следующий код,

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

Я предполагаю, что элементы file_name и file_path будут иметь одинаковые индексы, такие как 0, 1, 2 и т. Д.,

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector