在 Symfony 中显示下拉列表时出现问题

问题描述 投票:0回答:1

我使用以下代码来显示 mariadb 数据库表中的下拉列表,但是在测试时它不起作用:

<?php

namespace App\Form;

use App\Entity\Signal;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;

class SignalType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options): void
    {
        $builder
            ->add('actionPlan')
            ->add('actionPlanStatus', StatusType::class, [
                'class' => Status::class,
                'mapped' => false,
                'choise_label' => function(Post $post){
                    return $post->getName();
                }
                 ])
            ->add('deadline')
        ;
    }

    public function configureOptions(OptionsResolver $resolver): void
    {
        $resolver->setDefaults([
            'data_class' => Signal::class,
        ]);
    }
}

我收到以下错误。

解析“App\Form\StatusType”表单的选项时发生错误:选项“choise_label”、“class”不存在。定义的选项有:“action”、“allow_extra_fields”、“allow_file_upload”、“attr”、“attr_translation_parameters”、“auto_initialize”、“block_name”、“block_prefix”、“by_reference”、“compound”、“constraints”、“csrf_field_name” "、"csrf_message"、"csrf_protection"、"csrf_token_id"、"csrf_token_manager"、"data"、"data_class"、"已禁用"、"empty_data"、"error_bubbling"、"error_mapping"、"extra_fields_message"、"form_attr"、 “getter”、“帮助”、“help_attr”、“help_html”、“help_translation_parameters”、“inherit_data”、“invalid_message”、“invalid_message_parameters”、“is_empty_callback”、“label”、“label_attr”、“label_format”、“label_html” ", "label_translation_parameters", "mapped", "method", "post_max_size_message", "priority", "property_path", "required", "row_attr", "setter", "translation_domain", "trim", "upload_max_size_message", “验证组”。

你能帮我解决这个问题吗?

symfony
1个回答
0
投票

错误消息告诉您

class
选项不存在于
StatusType
中。这主要用于
EntityType

另外,没有选项

choise_label
,因为“c”有一个小错别字
choice_label
。 ;)发生了..

您可以在此处找到类型列表:https://symfony.com/doc/current/reference/forms/types.html

我怀疑是否还有一个StatusType,我认为你命名它时指的是你的类名!?

标签应该是什么?在另一个类中定义的名称,即来自另一个实体的名称?如果是这样,那么我必须自己研究一下,我还不太了解,但我希望我仍然可以提供帮助。

这是我的代码中选择字段的示例:

->add('whitelister', EntityType::class, [
    'class' => User::class,
    'choice_label' => 'username',
    'label' => 'Whitelister',
])
© www.soinside.com 2019 - 2024. All rights reserved.