3

我正在尝试按照文档中的说明向JSONB字段添加自定义类型:

form: fields: - { property: 'attr', type: 'App\Form\Type\AttrType'}

和类实现:

class AttrType extends AbstractType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {

            $builder
                ->add('title',TextType::class, array('label' => 'title'));
        }


    }

它工作正常。

但是我有JSONB列,我不知道存储了多少字段及其类型。

问题:如何让实体进入buildForm访问权限attr。需要的数据存在 $builder$options我可以在var_dump().

简化的期望结果:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    foreach($builder->getData()->getAttr() as $key=>$value){
    $builder->add($key,TextType::class, array('data' => $value));
    }
}
4

0 回答 0