You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony 7.3中FormType渲染报“Array to string conversion”错误的解决方案求助

Symfony 7.3中FormType渲染报“Array to string conversion”错误的解决方案求助

各位好!我最近把Symfony项目从6.1版本升级到7.3后,表单渲染这块卡壳了,折腾了好几天都没找到解决办法,特意来这儿求助!

先说说之前在6.1里的正常写法,我是这么在Twig模板里渲染表单的:

{{ form_start(form, {'attr': {'id': 'form-add-meeting'}}) }}
    {{ form_widget(form) }}
    <label for="">Date *</label>
    <input class="form-control" type="text" id="datepicker" name="datepicker" />
    <label class="time-selector mt-3" for="">Horaire *</label>
    <input type="time" name="time" class="form-control time-selector" id="time-selector-input" />
{{ form_end(form) }}

结果升级到7.3之后,一访问页面就抛出这个错误:

"An exception has been thrown during the rendering of a template ("Warning: Array to string conversion") in form_div_layout.html.twig at line 374"

我翻遍了各种论坛和文档都没找到对应的解决方案,试过用form_row逐个字段渲染不行,form_label也不管用。目前唯一能让页面正常显示的方式是每个字段都用form_widget,但这样我就得手动在模板里处理错误提示、标签这些内容,效率太低了,完全不是理想的方案。

下面是我用的FormType代码:

public function buildForm(FormBuilderInterface $builder, array $options): void
{
    $builder
        ->add('jump', JumpAutocompleteField::class)
        ->add('purchase_custom_link', TextType::class, [
            'mapped' => false,
            'required' => false,
            'label' => 'N° Sport Découverte',
            'attr' => [
                'class' => 'form-control mb-3'
            ]
        ])
        ->add('purchase_item', OrderLinkAutocompleteField::class)
        ->add('client_lastname', TextType::class, [
            'required' => false,
            'label' => 'Nom',
            'attr' => [
                'class' => 'form-control mb-3',
                'maxlength' => 60
            ]
        ])
        ->add('client_name', TextType::class, [
            'required' => false,
            'label' => 'Prénom',
            'attr' => [
                'class' => 'form-control mb-3',
                'maxlength' => 60
            ]
        ])
        ->add('client_email', EmailType::class, [
            'required' => false,
            'label' => 'Adresse email',
            'attr' => [
                'class' => 'form-control mb-3',
                'maxlength' => 120
            ]
        ])
        ->add('client_phone', TextType::class, [
            'required' => false,
            'label' => 'Numéro de téléphone',
            'attr' => [
                'class' => 'form-control mb-3',
                'maxlength' => 10
            ]
        ])
        ->add('client_age', TextType::class, [
            'required' => false,
            'label' => 'Âge',
            'attr' => [
                'class' => 'form-control mb-3',
                'maxlength' => 2,
            ]
        ])
        ->add('client_height', TextType::class, [
            'required' => false,
            'label' => 'Taille (cm)',
            'attr' => [
                'class' => 'form-control mb-3',
                'maxlength' => 3
            ]
        ])
        ->add('client_weight', TextType::class, [
            'required' => false,
            'label' => 'Poids (kg)',
            'attr' => [
                'class' => 'form-control mb-3',
                'maxlength' => 3
            ]
        ]);
}

有没有朋友碰到过类似的情况?或者能帮我分析下这个“数组转字符串”的错误可能出在哪个环节吗?麻烦大家支个招,谢谢啦!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 07:24:59