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