【问题标题】:Doctrine Behaviours - Sortable on non relationship教义行为 - 可按非关系排序
【发布时间】:2013-05-28 19:14:35
【问题描述】:

我正在尝试按不相关但属于当前实体的属性进行排序。

如果 @Gedmo\SortableGroup 的属性是当前实体的一部分,则由于某种原因 sortable 对我不起作用。

这是我的实体:

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;

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

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

【问题讨论】:

  • 你可以使用这样的东西,$products = $repository->findBy(array('name' => 'foo'), array('price' => 'ASC'));
  • 嗯不...这不是我想要的...我需要根据同一实体中另一个字段的值更新该字段

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


【解决方案1】:

如果你对 Gedmo 的 SortablePosition 和 SortableGroup 功能仍有问题,可以按照这个:

  1. 不影响属性的值。
  2. 激活config.yml中的功能

    stof_doctrine_extensions: default_locale: fr_FR 形式: 默认: 可排序:真 树:是的

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 2016-11-10
    • 1970-01-01
    相关资源
    最近更新 更多