我想更新一个模型.我有这样的查询
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)
Run Code Online (Sandbox Code Playgroud)
我试过这个:
$this->MyModel->updateAll(
// fields
array('MyModel.myfield' => 100),
// conditions
array('MyModel.id' => 12)
);
Run Code Online (Sandbox Code Playgroud)
但我需要更新20条不同的记录.
记录ID就像这个12,13,14 ....
如果要更新的记录是顺序的,请尝试添加两个这样的条件
$this->MyModel->updateAll(
array('MyModel.myfield' => 100),
// conditions
array('MyModel.id >=' => 12, 'MyModel.id <=' => 20)
);
Run Code Online (Sandbox Code Playgroud)
如果id的索引之间没有关系,请尝试使用数组
$this->MyModel->updateAll(
array('MyModel.myfield' => 100),
// conditions
array('MyModel.id' => array(12,13,14...))
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5965 次 |
| 最近记录: |