/** * Allows a model to be loaded by username or email address. * * @param mixed $id id, username, email * @return string */ public function unique_key($id) { if (!empty($id) && is_string($id) && !ctype_digit($id)) { return valid::email($id) ? 'email' : 'username'; } return parent::unique_key($id); }