diff --git a/src/AliasStorageHelper.php b/src/AliasStorageHelper.php index 6518224..f88a061 100644 --- a/src/AliasStorageHelper.php +++ b/src/AliasStorageHelper.php @@ -196,9 +196,14 @@ public function deleteEntityPathAll(EntityInterface $entity, $default_uri = NULL * {@inheritdoc} */ public function loadBySourcePrefix($source) { - return $this->database->select('url_alias', 'u') - ->fields('u', array('pid')) - ->condition('source', $source . '%', 'LIKE') + $select = $this->database->select('url_alias', 'u') + ->fields('u', array('pid')); + + $or_group = $select->orConditionGroup()->condition('source', $source) + ->condition('source', $source . '/%', 'LIKE'); + + return $select + ->condition($or_group) ->execute() ->fetchCol(); } @@ -207,8 +212,14 @@ public function loadBySourcePrefix($source) { * {@inheritdoc} */ public function countBySourcePrefix($source) { - return $this->database->select('url_alias') - ->condition('source', $source . '%', 'LIKE') + $select = $this->database->select('url_alias', 'u') + ->fields('u', array('pid')); + + $or_group = $select->orConditionGroup()->condition('source', $source) + ->condition('source', $source . '/%', 'LIKE'); + + return $select + ->condition($or_group) ->countQuery() ->execute() ->fetchField();