protected function doSave($con)
 {
     $affectedRows = 0;
     if (!$this->alreadyInSave) {
         $this->alreadyInSave = true;
         if ($this->asfGuardUser !== null) {
             if ($this->asfGuardUser->isModified()) {
                 $affectedRows += $this->asfGuardUser->save($con);
             }
             $this->setsfGuardUser($this->asfGuardUser);
         }
         if ($this->asfSimpleForumTopic !== null) {
             if ($this->asfSimpleForumTopic->isModified()) {
                 $affectedRows += $this->asfSimpleForumTopic->save($con);
             }
             $this->setsfSimpleForumTopic($this->asfSimpleForumTopic);
         }
         if ($this->isModified()) {
             if ($this->isNew()) {
                 $pk = sfSimpleForumTopicViewPeer::doInsert($this, $con);
                 $affectedRows += 1;
                 $this->setNew(false);
             } else {
                 $affectedRows += sfSimpleForumTopicViewPeer::doUpdate($this, $con);
             }
             $this->resetModified();
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }