Example #1
0
 /**
  * Execute a delete query for an object
  *
  * @param Model $object
  *
  * @return bool
  */
 public static function delete(Model &$object)
 {
     $database = self::get($object::_getDatabaseNamespace());
     $connection = $database->getConnection();
     //row identifier
     $criteria = $params = array();
     foreach ($object->_getIdentifyingData() as $identifying_field => $identifying_value) {
         $value = $database->valueToSQL($identifying_value);
         $criteria[] = DB\Query::parseWhereCondition(sprintf('%s = ?', $database->escape($identifying_field)), $value);
         $params = array_merge($params, $value);
     }
     $sql = sprintf('DELETE FROM %s.%s WHERE %s;', $database->escape($object::_getSchemaName()), $database->escape($object::_getTableName()), implode(' AND ', $criteria));
     $connection->prepare($sql)->execute($params);
     $object->_setLoaded(false);
     return true;
 }