/** * Removes this object from datastore and sets delete attribute. * * @param Connection $con * @return void * @throws PropelException * @see BaseObject::setDeleted() * @see BaseObject::isDeleted() */ public function delete($con = null) { if ($this->isDeleted()) { throw new PropelException("This object has already been deleted."); } if ($con === null) { $con = Propel::getConnection(BlogPeer::DATABASE_NAME); } try { $con->begin(); BlogPeer::doDelete($this, $con); $this->setDeleted(true); $con->commit(); } catch (PropelException $e) { $con->rollback(); throw $e; } }
protected static function doOnDeleteCascade(Criteria $criteria, Connection $con) { $affectedRows = 0; $objects = AuthorPeer::doSelect($criteria, $con); foreach ($objects as $obj) { include_once 'lib/model/Post.php'; $c = new Criteria(); $c->add(PostPeer::AUTHOR_ID, $obj->getId()); $affectedRows += PostPeer::doDelete($c, $con); include_once 'lib/model/Blog.php'; $c = new Criteria(); $c->add(BlogPeer::AUTHOR_ID, $obj->getId()); $affectedRows += BlogPeer::doDelete($c, $con); } return $affectedRows; }