如何更新CakePHP中多個記錄的單個字段?CakePHP - 如何更新多個記錄
我使用$this->Item->find('all')
檢索多個記錄,我需要爲它們中的每一個設置不同的值並保存。我做
$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));
}
,但它提出了一個錯誤,說
Fatal error: Call to a member function saveField() on a non-object
我在做什麼錯?
參見[@ hugofcampos的答案](http://stackoverflow.com/a/18255526/216084)性能。 – 2014-09-04 05:59:04
隨着[Model :: saveMany]的推出(http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-savemany-array-data-null-array-options-數組)在CakePHP 2.0中,請參閱@ hugofcampos的答案,以獲得更好的方法。 – 2014-10-13 03:38:31
@HamidNazari我認爲這不會很好,如果有數千個字段不推薦 – 2016-04-21 15:04:28