Как создать массив вставки пакета Codeigniter
Как создать массив вставки пакета 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
)
)
Ответы
Ответ 1
Попробуйте следующее:
$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);
Для получения дополнительной информации прочитайте здесь
Ответ 2
Ваш массив в порядке. Просто поместите свой массив в переменную типа
$data=array();//put your array
а затем
$this->db->insert_batch('yourTable', $data);
Пожалуйста, дайте мне знать, если у вас возникнут какие-либо проблемы.
Ответ 3
Это ваши данные
На контроллере
$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);
Спасибо
Ответ 4
ваша нормальная структура массива соответствует структуре массива пакетной вставки.
поэтому просто используйте пакетный запрос для вставки данных.
$this->db->insert_batch('yourTable', $data);
$data - ваш обычный массив.