How to create Codeigniter batch insert array

How can I create a CI batch insert array which is like

$data = array( array( 'title' => 'My title' , 'name' => 'My Name' , 'date' => 'My date' ), array( 'title' => 'Another title' , 'name' => 'Another Name' , 'date' => 'Another date' )
);

from my normal array which is

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

4 Answers

Try this:

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

For more information, read here

2

This is your dataAt Controller

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

And insert data as batch insertAt Model

$this->db->insert_batch($table, $data);

Your array is ok. Just put your array into a variable like

$data=array();//put your array

and then

 $this->db->insert_batch('yourTable', $data);

Please let me know if you face any problem.

your normal array structure matchs with the array stucture of batch insert..

so just use batch insert query to insert the data.

 $this->db->insert_batch('yourTable', $data); 

$data is your normal array.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like