如何在Gedmo中实现SOrtablerepository

时间:2014-02-14 21:20:27

标签: symfony doctrine

我想问你如何将gedmo可排序扩展的可排序存储库实现到symfony 2.我有点困惑如何将EntityManager和ClassMetadata注入构造函数以及存储库如何在服务中正确注册。 yml和实体。

这是存储库: https://github.com/l3pp4rd/DoctrineExtensions/blob/master/lib/Gedmo/Sortable/Entity/Repository/SortableRepository.php

非常感谢!

2 个答案:

答案 0 :(得分:2)

我建议您安装StofDoctrineExtensionsBundle

您可以在配置文件中启用可排序行为。

示例:

<强> config.yml

stof_doctrine_extensions:
    orm:
        default:
            sortable: true

实体类

/**
 * Acme\Bundle\ProjectBundle\Entity\Foo
 *
 * @ORM\Table
 * @ORM\Entity(repositoryClass="Gedmo\Sortable\Entity\Repository\SortableRepository")
 */
class Foo
{
    /**
     * @var integer $position
     *
     * @Gedmo\SortablePosition
     * @ORM\Column(name="position", type="integer")
     */
    private $position;
}

答案 1 :(得分:0)

请记得在boot()

上订阅GedmoListener
<?php

class AcmeBundle extends Bundle
{
    $em = $this->container->get('doctrine.orm.default_entity_manager');
    $evm = $em->geteventmanager();
    $evm->addeventsubscriber(new \gedmo\sortable\sortablelistener);
}