如何修复"此存储库只能附加到ORM可排序的侦听器" Gedmo中的错误可排序?

时间:2013-01-19 12:14:21

标签: symfony doctrine-orm jquery-ui-sortable doctrine-extensions

当使用StofDoctrineExtensions(它是Gedmo Doctrine Extensions的Symfony2端口)可排序行为时,我一直收到此错误:

  

此存储库只能附加到ORM可排序侦听器

由于我无法在官方文档中轻易找到答案,我将在此留下答案以供将来参考。

2 个答案:

答案 0 :(得分:14)

您需要启用您正在使用的任何侦听器。在这种情况下,可排序。

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

对于Symfony 4,请在/config/packages/stof_doctrine_extensions.yaml中添加此配置。对于旧版本的Symfony,请将其添加到config.yml

答案 1 :(得分:0)

为了使用Sortable行为,您需要在bundle的引导方法中添加一个事件监听器

<?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);
    }
}