无法从类型“ stdClass”的对象读取索引“类型”,因为它没有实现\ ArrayAccess

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

我在此出现此错误

    if ($this->container->getParameter('sso.so') === true)
    {
        $builder->add('familyMembers', CollectionType::class, array(
            'type' => new FamilyMember(),
            'allow_add' => TRUE,
            'allow_delete' => TRUE,
            'by_reference' => FALSE,
        ));

        $builder->get('familyMembers')->setData(array());
    }

这是表格类型

class FamilyMember extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options) {
        $builder
            ->add('type', ChoiceType::class, array(
                'label'     => ' ',
                'required'  => FALSE,
                'choices'   => array(
                    'SP'    => 'account.address.option.type.SP',
                    'DP'    => 'account.address.option.type.DP',
                ),
                'expanded'  => TRUE,
                'multiple'  => FALSE,
                'placeholder' => FALSE,
            ))

我想做的是,如果符合条件,则允许创建表格。

此方法有效,但我更新到symfony2.8,我也从guzzle3转到了guzzle 6(这是一个疑问)

php symfony twig symfony-forms guzzle6
1个回答
0
投票

根据从Symfony 2.8开始的documentationentry_type替换type

$builder->add('familyMembers', CollectionType::class, array(
        'entry_type' => new FamilyMember(),
        'allow_add' => TRUE,
        'allow_delete' => TRUE,
        'by_reference' => FALSE,
    ));
© www.soinside.com 2019 - 2024. All rights reserved.