Как получить Entity в пользовательском типе формы в symfony EasyAdmin - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь добавить пользовательский тип в поле 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, и я не знаю, сколько полей хранится и их типы.

ВОПРОС: Как получить Entity в 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));
    }
}
...