如何在 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
我做错了什么?
最佳答案
我会说你应该使用 CakePHP Save Many以提高性能。
例如:
$data = array(
array( 'Item' => array('id' => 2, 'order' => rand(1,5)) ),
array( 'Item' => array('id' => 3, 'order' => rand(1,5)) ),
);
$Model->saveMany($data, array('deep' => true));
关于php - CakePHP - 如何更新多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5885116/