* @package Gedmo\Sluggable\Mapping\Event\Adapter * @subpackage ODM * @link http://www.gediminasm.org * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ final class ODM extends BaseAdapterODM implements SluggableAdapter { /** * {@inheritDoc} */ public function getSimilarSlugs($object, $meta, array $config, $slug) { $dm = $this->getObjectManager(); $wrapped = AbstractWrapper::wrap($object, $dm); $qb = $dm->createQueryBuilder($config['useObjectClass']); if (($identifier = $wrapped->getIdentifier()) && !$meta->isIdentifier($config['slug'])) { $qb->field($meta->identifier)->notEqual($identifier); } $qb->field($config['slug'])->equals(new \MongoRegex('/^' . preg_quote($slug, '/') . '/')); $q = $qb->getQuery(); $q->setHydrate(false); $result = $q->execute(); if ($result instanceof Cursor) { $result = $result->toArray(); } return $result; } }