Prechádzať zdrojové kódy

Merge pull request #202 from AD7six/feature/use-a-regex

Sluggable - Use an indexable query to find similar slugs
Gediminas Morkevicius 13 rokov pred
rodič
commit
218a2f2b3c

+ 2 - 4
lib/Gedmo/Sluggable/Mapping/Event/Adapter/ODM.php

@@ -31,9 +31,7 @@ final class ODM extends BaseAdapterODM implements SluggableAdapter
         if ($identifier) {
             $qb->field($meta->identifier)->notEqual($identifier);
         }
-        $qb->where("function() {
-            return this.{$config['slug']}.indexOf('{$slug}') === 0;
-        }");
+        $qb->field($config['slug'])->Equals(new \MongoRegex('/^' . str_replace('/', '\/', $slug) . '/'));
         $q = $qb->getQuery();
         $q->setHydrate(false);
 
@@ -113,4 +111,4 @@ final class ODM extends BaseAdapterODM implements SluggableAdapter
             }
         }
     }
-}
+}