Esempio n. 1
0
 /**
  * Delete model by id.
  *
  * @param ModelBase $model
  * @throws ControllerException
  */
 protected function _deleteModelById($sql, $model)
 {
     if ($model->validateForDelete()) {
         $stmt = $this->_dbh->prepare($sql);
         if (!$stmt) {
             throw new ControllerException('Prepared statement failed for ' . $sql);
         }
         $id = $model->getId();
         if (!$stmt->bind_param('i', $id)) {
             throw new ControllerException('Binding parameters for prepared statement failed.');
         }
         if (!$stmt->execute()) {
             throw new ControllerException('Failed to execute DELETE statement. (' . $this->_dbh->error . ')');
         }
         /**
          * @SuppressWarnings checkAliases
          */
         if (!$stmt->close()) {
             throw new ControllerException('Something broke while trying to close the prepared statement.');
         }
         return;
     } else {
         throw new ControllerException('Invalid data');
     }
 }