在sonata_type_model中更改项目排序

时间:2017-07-08 00:51:20

标签: sorting doctrine many-to-many sonata-admin symfony-3.2

在我的管理员中我定义了这个:

 protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
    /* ... */
    ->add('camps', 'sonata_type_model', array(
        'btn_add'       => false,      //Specify a custom label
        'choices'        => $this->tema_service->getCampsDefinicio($this->getSubject()),
        'sortable'     => true,
        'multiple' => true,
            ), array(
                'placeholder' => 'No selected'
            ))

;
/* ... */
}

函数getCampsDefinicio返回已排序的项目数组。尽管如此,选项似乎按其ID排序。

我能做些什么来尊重给定的命令?

我不在乎是否必须覆盖任何模板。在那种情况下,我必须查找/覆盖哪些文件?

1 个答案:

答案 0 :(得分:0)

最后我解决了这个问题。

我有点困惑。

choises数组中的顺序仅适用于可选项。

SELECTED项的顺序由实体函数

中提供的te ArrayCollection定义
/**
 * Get camps
 *
 * @return \Doctrine\Common\Collections\Collection
 */
public function getCamps()
{
   return $this->camps;
}