public function remove_field($key, $lang = NULL) { if (!$this->id) { return false; } $dicval = DicFieldVal::firstOrNew(array('dicval_id' => $this->id, 'language' => $lang, 'key' => $key)); $dicval->delete(); unset($this->{$key}); return $dicval; }