Comment mettre à jour un seul champ de plusieurs enregistrements dans CakePHP?CakePHP - Comment mettre à jour plusieurs enregistrements
Je récupère plusieurs enregistrements en utilisant $this->Item->find('all')
et j'ai besoin de définir des valeurs différentes pour chacun d'entre eux et enregistrer. Je ne
$items = $this->Item->find('all', array(
'fields' => array('Item.id', 'Item.order'),
'conditions'=> array(
'Item.project_id =' => $this->request->params['project_id'],
),
'order' => array ('Item.order ASC')
));
foreach($items as $key => $item) {
$item->saveField('Item.order', rand(1, 10));
}
mais il génère une erreur en disant
Fatal error: Call to a member function saveField() on a non-object
Qu'est-ce que je fais mal?
Voir [@ réponse de hugofcampos] (http://stackoverflow.com/a/18255526/216084) pour la performance. –
Avec l'introduction de [Model :: saveMany] (http://book.cakephp.org/2.0/fr/models/saving-your-data.html#model-savemany-array-data-null-array-options- array) dans CakePHP 2.0, référez-vous à la réponse de @ hugofcampos pour une meilleure approche à ce sujet. –
@HamidNazari Je pense que ce ne sera pas bon s'il y a des milliers de champs c'est pas recommandé –