CakePHP: Multiple Inserts - Insert multiple rows using single statement.

Using the method saveAll(), we can achieve the desired goal. http://book.cakephp.org/view/75/Saving-Your-Data

Example:
If you want to save multiple records/rows into the same table.


$multipleRowData = Array(   
 Array('name' => 'Bob', 'phone' => "123-123-7777"),  
 Array('name' => 'Ann', 'phone' => "987-123-5555"),  
 Array('name' => 'Tom', 'phone' => "788-123-4569")  
 );   
 $this->Mymodelname->saveAll($multipleRowData);  


This would result in inserting 3 rows in the "mymodelname" table.

2 comments:

  1. if u set debug = 2 in core.php and look over the queries you see it insert the records multiple "insert" queries where this is wrong it should be in one single insert query like:
    "insert into table (field1, field2) values('row1','row1'),('row2',row2')"

    ReplyDelete
  2. works great thanks

    ReplyDelete

Resolving Package Conflict with Level-Zero Installation; Fixing dpkg Error

Preparing to unpack level-zero_1.20.2+u24.04_amd64.deb ... Unpacking level-zero ( 1.20.2 ) ... dpkg: error processing archive level-zero_1....