int $DB_DataObject->update (
dataobject|boolean $original|$useWhere
)
現在のオブジェクト変数でデータベースを更新します。 もしデータオブジェクトを引数として提供した場合、 新旧データの間での違いだけが更新されます。
引数に DB_DATAOBJECT_WHEREADD_ONLY のみを指定してコールした場合は、 主キーではなく whereAdd の値に基づいてクエリが構築されます。 これを使用すると、一行ずつの更新ではなく複数レコードの一括更新が可能となります。
DataObject $original
-
現在のデータオブジェクトとオリジナルとの違いから、
更新クエリが構築されるかどうかを指定します。
int
作用した行数、あるいは失敗した場合 FALSE
エラーコード | エラーメッセージ | 意味 | 解決策 |
---|---|---|---|
DB_DATAOBJECT_ERROR_INVALIDCONFIG | "更新:$table の定義がありません" | ||
DB_DATAOBJECT_ERROR_NODATA | "更新:クエリ $settings にデータが指定されていません" |
This function can not be called statically.
単純なフェッチと更新
<?php
$person = new DataObjects_Person;
$person->get(12);
$person->name='fred';
$person->update();
$person = new DataObjects_Person;
$person->get(12);
$original = clone($person); // clone is emulated in php4 for compatibility reasons.
$person->name='fred';
$person->update($original);
?>
結果の SQL
単純なフェッチと更新
<?php
$person = new DataObjects_Person;
$person->removed=1;
$person->whereAdd('age > 21');
$person->update();
?>
結果の SQL