add a method to update key fields in User

darcs-hash:20080622145644-34904-92549d9bb68251214c4dc370f6e2a56f516ceecb.gz
This commit is contained in:
Evan Prodromou 2008-06-22 10:56:44 -04:00
parent 1fcdecbd2b
commit 73921da0f3

View File

@ -61,4 +61,23 @@ class User extends DB_DataObject
$sub->subscribed = $other->id; $sub->subscribed = $other->id;
return $sub->find(); return $sub->find();
} }
# 'update' won't write key columns, so we have to do it ourselves.
function updateKeys(&$orig) {
$parts = array();
foreach (array('nickname', 'email') as $k) {
if ($this->$k != $orig->$k) {
$parts[] = $k . '="' . $this->$k . '"';
}
}
if (count($parts) == 0) {
# No changes
return;
}
$toupdate = implode(', ', $parts);
$qry = 'UPDATE ' . $this->tableName() . ' SET ' . $toupdate .
' WHERE id = ' . $this->id;
return $this->query($qry);
}
} }