主义行为 - 对非关系进行排序

时间:2013-05-28 19:14:35

标签: symfony doctrine-orm doctrine symfony-2.1 symfony-2.2

我试图按照与当前实体无关的属性进行排序。

由于某些原因,如果@Gedmo \ SortableGroup的属性是当前权利的一部分,那么可排序对我不起作用。

这是我的实体:

https://gist.github.com/rat4m3n/91df50da8c653edfa3d0

  

将Doctrine \ ORM \ Mapping用作ORM;

     

使用Gedmo \ Mapping \ Annotation作为Gedmo;

/**
 * @Gedmo\SortableGroup
 * @ORM\Column(name="total_chips", type="integer")
 */
private $total_chips = 0;


/**
 * @Gedmo\SortablePosition
 * @ORM\Column(name="ranking", type="integer")
 */
private $ranking = 0;

这根本不可能/不受支持吗?

否则......我怎么能以其他方式完成这种行为?

1 个答案:

答案 0 :(得分:0)

如果您仍然对Gedmo的SortablePosition和SortableGroup功能有疑问,可以按照以下步骤操作:

  1. 不影响该属性的值。
  2. 激活config.yml

    中的功能

    stof_doctrine_extensions:     default_locale:fr_FR     ORM:         默认:             可排序的:真的             tree:true

  3. 并将监听器添加到您的实体:

  4. namespace Acme\AcmeBundle;     
    use Symfony\Component\HttpKernel\Bundle\Bundle;
    
    class AcmeAcmeBundle extends Bundle
    {
        public function boot()
        {
            $em = $this->container->get('doctrine.orm.    default_entity_manager');
    
            $evm = $em->getEventManager();
            $evm->addEventSubscriber(new \Gedmo\Sortable\    SortableListener);
        }
    }
    

    namespace Acme\AcmeBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class AcmeAcmeBundle extends Bundle { public function boot() { $em = $this->container->get('doctrine.orm. default_entity_manager'); $evm = $em->getEventManager(); $evm->addEventSubscriber(new \Gedmo\Sortable\ SortableListener); } }