/**
  * Drop this category
  *
  * @param void
  * @return boolean
  */
 function delete()
 {
     db_begin_work();
     $delete = parent::delete();
     if ($delete && !is_error($delete)) {
         $documents = $this->getDocuments();
         foreach ($documents as $document) {
             $document->delete();
         }
         // foreach
         db_commit();
         return true;
     } else {
         db_rollback();
         return $delete;
     }
     // if
 }
 /**
  * Returns a peer instance associated with this om.
  *
  * Since Peer classes are not to have any instance attributes, this method returns the
  * same instance for all member of this class. The method could therefore
  * be static, but this would prevent one from overriding the behavior.
  *
  * @return DocumentCategoryPeer
  */
 public function getPeer()
 {
     if (self::$peer === null) {
         self::$peer = new DocumentCategoryPeer();
     }
     return self::$peer;
 }