سؤال

When usieing StofDoctrineExtensions (which is a Symfony2 port of Gedmo Doctrine Extensions) Sortable behaviour I kept on getting this error:

This repository can be attached only to ORM sortable listener

Since I could not easily find the answer in official docs I'm leaving an answer here for future reference.

هل كانت مفيدة؟

المحلول

You need to enable any listeners you are using. In this case, Sortable.

stof_doctrine_extensions:
    default_locale: en_US
    orm:
        default:
            sortable: true

For Symfony 4, add this configuration in /config/packages/stof_doctrine_extensions.yaml. For older versions of Symfony, add it to config.yml.

نصائح أخرى

In order to use Sortable behaviour you need to add an event listener to your bundle's boot method

<?php

namespace Acme\DemoBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

class AcmeDemoBundle extends Bundle
{
    public function boot()
    {
        // get the doctrine 2 entity manager
        $em = $this->container->get('doctrine.orm.default_entity_manager');

        // get the event manager
        $evm = $em->getEventManager();
        $evm->addEventSubscriber(new \Gedmo\Sortable\SortableListener);
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top