2009-06-23 12 views
0

要するに、これを行う正しい方法は、実際のキーの条件であるupdateAllであると仮定します。問題は、updateAllがデフォルトでデータベース挿入用の新しい値を準備していないことにあります。エスケープする方法を示すコードをいくつか見てきましたが、最初にレコードごとに主キーを検出するためにfindを実行する代わりにこれを使用する方が好きです。しかし、私の検索ではまだ見つけられていません。実(コンポジット)キーを使ってCakePHPのデータベースレコードを編集するにはどうすればいいですか?

+0

申し訳ありませんが、私はあなたが何を求めているのかはっきりしていません。おそらくあなたはいくつかのコードとあなたが持っている特定の問題を投稿することができますか? – inkedmn

+0

updateAllを実行するときにデータのCakePHPの方法でmysql_real_escape_stringを実行する方法。残りの部分は、なぜ私のニーズを満たすような代替案が提供されているのか、その理由を説明しています。 – Iiridayn

答えて

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-loopsを保存することもあります.1つはフォームをループしてフォームを送信し、このコードを(updateAllまたはsaveの代わりに)呼び出す、もう1つは各フィールドにケーキマジックフィルタリングを渡してデータベースに渡します。

2

CakePHPは複合主キーをサポートしていません。

関連する問題