选项“选择”,“多个”不存在

时间:2019-01-02 14:50:41

标签: php symfony sonata

我正在编辑Sonata生成的管理类。它根据计划的和完成的分发来处理视频过滤。该类已经包含以下内容:

protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
    $datagridMapper
        ->add('producedTill', 'doctrine_orm_date', [], 'sonata_type_datetime_picker',
            $this->getDatePickerDefinitions(2, true, 3))
        ->add('plannedDistributions', null, [], null,
            $this->getEntityDefinitions('AppBundle:DistributionChannel', 1, true, 4))
}

...这为我提供了一个不错的UI,其中包括应用程序中“计划的发行”字段的下拉列表。

现在,我想为完成的发行版添加另一个下拉列表。我添加以下内容:

        ->add('distributions', null, [], null,
            $this->getEntityDefinitions('AppBundle:DistributionChannel', 1, true, 4))

...但是在重新加载列表视图时,我收到以下消息:

  

选项“选择”,“多个”不存在。定义的选项包括:   “动作”,“ allow_extra_fields”,“ attr”,“自动初始化”,   “ block_name”,“ by_reference”,“ cascade_validation”,“ compound”,   “约束”,“ csrf_field_name”,“ csrf_message”,“ csrf_protection”,   “ csrf_provider”,“ csrf_token_id”,“ csrf_token_manager”,“数据”,   “ data_class”,“ description”,“ disabled”,“ empty_data”,   “ error_bubbling”,“ error_mapping”,“ extra_fields_message”,   “ horizo​​ntal_input_wrapper_class”,“ horizo​​ntal_label_class”,   “ horizo​​ntal_label_offset_class”,“ inherit_data”,“意图”,   “ invalid_message”,“ invalid_message_parameters”,“ label”,   “ label_attr”,“ label_format”,“ label_render”,“映射”,“ max_length”,   “方法”,“模式”,“ post_max_size_message”,“ property_path”,   “只读”,“必需”,“ sonata_admin”,“ sonata_field_description”,   “ sonata_help”,“ translation_domain”,“修剪”,   “ upload_max_size_message”,“ validation_groups”,“虚拟”。

我不相信我曾尝试在configureDatagridFilters方法中定义任何“选择”或“多个”选项。这可能是怎么回事?

1 个答案:

答案 0 :(得分:0)

这很容易-getEntityDefinitions()方法包含对这些字段的引用。

public function getEntityDefinitions($entityName, $innerSort = null, $extended = false, $sort = 1)
{
    return array(
        'choices' => $this->entityManager->getRepository($entityName)->getSortedElements($this->getLocale()),
        'multiple' => true,
        'attr' => array(
            'data-extended' => $extended,
            'data-sort' => $sort,
            'data-inner-sort' => $innerSort
        )
    );
}