如何使用真实(复合)密钥在CakePHP中编辑数据库记录?

时间:2009-06-23 15:44:53

标签: cakephp

简而言之,我认为执行此操作的正确方法是updateAll,其条件是真实密钥的条件。问题在于updateAll默认情况下不会为数据库插入准备新值。我已经看到一些代码演示如何正确地进行转义,并且更愿意使用它而不是执行查找以首先发现每个记录的主键。但是,在我的搜索中,我还没有找到它。

2 个答案:

答案 0 :(得分:2)

CakePHP不支持复合主键。

答案 1 :(得分:0)

$db =& ConnectionManager::getDataSource($this->useDbConfig);
foreach($fields as $key => $field) {
   $fields[$key] = $db->value($field);
}
return $db->update($this, $fields, null, $conditions);

从未找到过代码。它还涉及保存2个for循环,这不太理想 - 一个循环通过表单提交并调用此代码(而不是updateAll或save),另一个将蛋糕魔术过滤放在每个字段上以传递给数据库。