function DrupalDefaultEntityController::cleanIds
Ensures integer entity IDs are valid.
The identifier sanitization provided by this method has been introduced as Drupal used to rely on the database to facilitate this, which worked correctly with MySQL but led to errors with other DBMS such as PostgreSQL.
Parameters
array $ids: The entity IDs to verify. Non-integer IDs are removed from this array if the entity type requires IDs to be integers.
1 call to DrupalDefaultEntityController::cleanIds()
- DrupalDefaultEntityController::load in includes/
entity.inc - Implements DrupalEntityControllerInterface::load().
File
-
includes/
entity.inc, line 242
Class
- DrupalDefaultEntityController
- Default implementation of DrupalEntityControllerInterface.
Code
protected function cleanIds(&$ids) {
$entity_info = entity_get_info($this->entityType);
if (isset($entity_info['base table field types'])) {
$id_type = $entity_info['base table field types'][$this->idKey];
if ($id_type == 'serial' || $id_type == 'int') {
$ids = array_filter($ids, array(
$this,
'filterId',
));
$ids = array_map('intval', $ids);
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.