浏览代码

[sluggable] fixed an issue with union of similar slugs

gediminasm 13 年之前
父节点
当前提交
1995fe8ba9
共有 1 个文件被更改,包括 6 次插入4 次删除
  1. 6 4
      lib/Gedmo/Sluggable/SluggableListener.php

+ 6 - 4
lib/Gedmo/Sluggable/SluggableListener.php

@@ -278,6 +278,7 @@ class SluggableListener extends MappedEventSubscriber
      * @param SluggableAdapter $ea
      * @param object $object
      * @param string $preferedSlug
+     * @param boolean $recursing
      * @param array $config[$slugField]
      * @return string - unique slug
      */
@@ -285,10 +286,11 @@ class SluggableListener extends MappedEventSubscriber
     {
         $om = $ea->getObjectManager();
         $meta = $om->getClassMetadata(get_class($object));
-        // search for similar slug
-        $result = $ea->getSimilarSlugs($object, $meta, $config, $preferedSlug);
-        // add similar persisted slugs into account
-        $result += $this->getSimilarPersistedSlugs($config['useObjectClass'], $preferedSlug, $config['slug']);
+        // load similar slugs
+        $result = array_merge(
+            (array)$ea->getSimilarSlugs($object, $meta, $config, $preferedSlug),
+            (array)$this->getSimilarPersistedSlugs($config['useObjectClass'], $preferedSlug, $config['slug'])
+        );
         // leave only right slugs
         if (!$recursing) {
             $this->filterSimilarSlugs($result, $config, $preferedSlug);