public function setPreference($user_id, $key, $value) { $result = Doctrine_Query::create()->from('Preferences p')->andwhere('p.user_ref = ?', $user_id)->andWhere('p.pref_key = ?', $key)->fetchOne(); if (!$result) { $result = new Preferences(); $result->fromArray(array('user_ref' => $user_id, 'pref_key' => $key)); } $result->setPrefValue($value); $result->save(); return true; }