我想更新模型。我有这样的查询
UPDATE mymodels SET `myfield` = 100 WHERE `id`=12 OR `id`=13 OR `id`=14
// also the same:
UPDATE mymodels SET `myfield` = 100 WHERE `id` IN (12,13,14)
我试过这个:
$this->MyModel->updateAll(
// fields
array('MyModel.myfield' => 100),
// conditions
array('MyModel.id' => 12)
);
但我需要更新20条不同的记录 记录ID就像这个12,13,14 ....
答案 0 :(得分:7)
如果要更新的记录是连续的,请尝试添加两个条件,例如
$this->MyModel->updateAll(
array('MyModel.myfield' => 100),
// conditions
array('MyModel.id >=' => 12, 'MyModel.id <=' => 20)
);
如果ids的索引之间没有关系,请尝试使用数组
$this->MyModel->updateAll(
array('MyModel.myfield' => 100),
// conditions
array('MyModel.id' => array(12,13,14...))
);