Friday, December 14, 2012

CakePHP executes select before update

When I try to do this:

$model = new MyModel();

foreach ($this->request->data['models'] as $modelId => &$modelData) {
    $myModel->save(array('id' => $modelId, 'label' => $modelData['label']));
}

CakePHP ORM executes 3 selects before the update. Anybody knows why it happens?


It is what CakePHP ORM is executing:

3SELECT COUNT(*) AS `count` FROM `db`.`model` AS `MyModel` WHERE `MyModel`.`id` = 2110
4SELECT COUNT(*) AS `count` FROM `db`.`model` AS `MyModel` WHERE `MyModel`.`id` = 2


5SELECT COUNT(*) AS `count` FROM `db`.`model` AS `MyModel` WHERE `MyModel`.`id` = 2


6UPDATE `db`.`model` SET `id` = 2, `label` = 'XXXXXXXX' WHERE `db`.`model`.`id` = 2


--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
 
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com.
To unsubscribe from this group, send email to cake-php+unsubscribe@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php?hl=en.
 
 

No comments: