5

当使用 StofDoctrineExtensions (这是 Gedmo Doctrine Extensions 的 Symfony2 端口)排序行为时,我不断收到此错误:

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

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

4

2 回答 2

16

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

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

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

于 2013-02-03T02:26:10.327 回答
0

为了使用 Sortable 行为,您需要将事件侦听器添加到包的引导方法

<?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);
    }
}
于 2013-01-19T12:14:21.037 回答