我在我的cakephp项目中使用postgres数据库。 我有一个包含一些数据的表和一个名为“status”的列。 “状态”它是枚举,可以“等待”,“in_progress”,“已完成”。
我的脚本必须获取第一个找到状态=等待的记录,将状态更改为“in_progress”,并在一个原子过程中获取此记录的id和所有这些。
计算后需要id才能将状态更改为“已完成”。 将有许多这样的脚本并行工作,这就是为什么我需要这个简单的“行锁定”。
我第一次使用postgres数据库 - 有没有简单的方法来实现这一目标? 也许cake支持一些方便的方法吗?
答案 0 :(得分:1)
使用cakePHP它没有什么样的数据库,只需使用$this->Model->find...
修改你的状态然后'$ this->模型 - >保存....`
$row = $this->Model->find('first',array('conditions' => array('Model.status' => 'waiting')));
$row['Model']['status'] = 'in progress';
$this->Model->save($row);
(...do something...)
$row['Model']['status'] = 'completed';
$this->Model->save($row);
可能你想在循环中运行它并将某种const作为状态......