int $DB_DataObject->update (
dataobject|boolean $original|$useWhere
)
Met à jour les variables des objets courants dans la base de données. Si vous fournissez un objet de données, en tant qu'argument, la méthode mettra à jour uniquement les différences entre le nouveau et l'ancien.
Si la méthode est appelée avec DB_DATAOBJECT_WHEREADD_ONLY comme argument, la requête de mise à jour est construite, basée sur les valeurs whereAdd, plutôt que sur la clé primaire. Ceci permet de meilleures performances pour les mises à jour globales, plutôt que de mettre à jour ligne par ligne.
DataObject $original - si fourni, la requête de mise à jour sera construite depuis la différence entre l'objet de données actuel et l'original.
int : nombre de lignes affectées ou FALSE si une erreur survient
Code erreur | Message d'erreur | Signification | Solution |
---|---|---|---|
DB_DATAOBJECT_ERROR_INVALIDCONFIG | "update:No table definition for $table" | Aucune définition de table pour $table | |
DB_DATAOBJECT_ERROR_NODATA | "update: No Data specifed for query $settings" | Aucune donnée fournie pour la requête $settings |
This function can not be called statically.
Récupération et mise à jour simple
<?php
$person = new DataObjects_Person;
$person->get(12);
$person->name='fred';
$person->update();
$person = new DataObjects_Person;
$person->get(12);
$original = clone($person); // le clônage est émulé en PHP 4 pour des raisons de compatibilité.
$person->name='fred';
$person->update($original);
?>
SQL résultant
Récupération et mise à jour simple
<?php
$person = new DataObjects_Person;
$person->removed=1;
$person->whereAdd('age > 21');
$person->update();
?>
SQL résultant