Я пытаюсь добавить пользовательский тип в поле 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));
}
}