本文整理汇总了PHP中EmployeePeer::doDelete方法的典型用法代码示例。如果您正苦于以下问题:PHP EmployeePeer::doDelete方法的具体用法?PHP EmployeePeer::doDelete怎么用?PHP EmployeePeer::doDelete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EmployeePeer
的用法示例。
在下文中一共展示了EmployeePeer::doDelete方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: delete
public function delete($con = null)
{
if ($this->isDeleted()) {
throw new PropelException("This object has already been deleted.");
}
if ($con === null) {
$con = Propel::getConnection(EmployeePeer::DATABASE_NAME);
}
try {
$con->begin();
EmployeePeer::doDelete($this, $con);
$this->setDeleted(true);
$con->commit();
} catch (PropelException $e) {
$con->rollback();
throw $e;
}
}
示例2: doOnDeleteCascade
/**
* This is a method for emulating ON DELETE CASCADE for DBs that don't support this
* feature (like MySQL or SQLite).
*
* This method is not very speedy because it must perform a query first to get
* the implicated records and then perform the deletes by calling those Peer classes.
*
* This method should be used within a transaction if possible.
*
* @param Criteria $criteria
* @param PropelPDO $con
* @return int The number of affected rows (if supported by underlying database driver).
*/
protected static function doOnDeleteCascade(Criteria $criteria, PropelPDO $con)
{
// initialize var to track total num of affected rows
$affectedRows = 0;
// first find the objects that are implicated by the $criteria
$objects = RolePeer::doSelect($criteria, $con);
foreach ($objects as $obj) {
// delete related Employee objects
$c = new Criteria(EmployeePeer::DATABASE_NAME);
$c->add(EmployeePeer::ROLE_ID, $obj->getId());
$affectedRows += EmployeePeer::doDelete($c, $con);
// delete related User objects
$c = new Criteria(UserPeer::DATABASE_NAME);
$c->add(UserPeer::ROLE_ID, $obj->getId());
$affectedRows += UserPeer::doDelete($c, $con);
}
return $affectedRows;
}
示例3: delete
/**
* Removes this object from datastore and sets delete attribute.
*
* @param PropelPDO $con
* @return void
* @throws PropelException
* @see BaseObject::setDeleted()
* @see BaseObject::isDeleted()
*/
public function delete(PropelPDO $con = null)
{
foreach (sfMixer::getCallables('BaseEmployee:delete:pre') as $callable) {
$ret = call_user_func($callable, $this, $con);
if ($ret) {
return;
}
}
if ($this->isDeleted()) {
throw new PropelException("This object has already been deleted.");
}
if ($con === null) {
$con = Propel::getConnection(EmployeePeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
}
$con->beginTransaction();
try {
EmployeePeer::doDelete($this, $con);
$this->setDeleted(true);
$con->commit();
} catch (PropelException $e) {
$con->rollBack();
throw $e;
}
foreach (sfMixer::getCallables('BaseEmployee:delete:post') as $callable) {
call_user_func($callable, $this, $con);
}
}