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

问题描述:

总之,我认为这样做的正确方法是更新所有的条件是真正的密钥。问题在于,updateAll默认不会为数据库插入准备新的值。我已经看到一些代码演示如何正确转义,并且倾向于使用它来代替查找来首先发现每个记录的主键。但是,在我的搜索中,我还没有找到它。如何使用真实(复合)键在CakePHP中编辑数据库记录?

+0

对不起,我不完全清楚你在问什么。也许你可以发布一些代码和你遇到的具体问题? – inkedmn 2009-06-23 15:56:55

$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),另一个将每个字段上的蛋糕魔术过滤器传递给数据库。

CakePHP不支持组合主键。