예제 #1
0
 /**
  * @todo add $columns support
  *
  * @param Delete $delete
  * @return mixed
  * @throws Exception\RuntimeException
  */
 protected function executeDelete(Delete $delete)
 {
     $deleteState = $delete->getRawState();
     if ($deleteState['table'] != $this->table) {
         throw new Exception\RuntimeException('The table name of the provided Update object must match that of the table');
     }
     // pre delete update
     $this->featureSet->apply('preDelete', array($delete));
     $statement = $this->sql->prepareStatementForSqlObject($delete);
     $result = $statement->execute();
     // apply postDelete features
     $this->featureSet->apply('postDelete', array($statement, $result));
     return $result->getAffectedRows();
 }
 /**
  * @todo add $columns support
  *
  * @param Delete $delete
  * @return int
  * @throws Exception\RuntimeException
  */
 protected function executeDelete(Delete $delete)
 {
     $deleteState = $delete->getRawState();
     if ($deleteState['table'] != $this->table) {
         throw new Exception\RuntimeException('The table name of the provided Delete object must match that of the table');
     }
     // pre delete update
     $this->featureSet->apply(EventFeatureEventsInterface::EVENT_PRE_DELETE, [$delete]);
     $statement = $this->sql->prepareStatementForSqlObject($delete);
     $result = $statement->execute();
     // apply postDelete features
     $this->featureSet->apply(EventFeatureEventsInterface::EVENT_POST_DELETE, [$statement, $result]);
     return $result->getAffectedRows();
 }