当使用StofDoctrineExtensions(它是Gedmo Doctrine Extensions的Symfony2端口)可排序行为时,我一直收到此错误:
此存储库只能附加到ORM可排序侦听器
由于我无法在官方文档中轻易找到答案,我将在此留下答案以供将来参考。
答案 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);
}
}