在我的一个实体中,我得到了一个 数组 属性。我认为 Sonata Admin Bundle 可以处理它,但它似乎需要一些注意。
我很确定 SONATA_TYPE_COLLECTION
字段类型可以处理,但我没有找到有关如何在 configureFormFields()
中配置字段的任何线索
有谁知道如何配置它?
谢谢
最佳答案
我给你一个我用过的例子:
实体:
/**
* @ORM\Column(type="array", nullable=true)
*/
private $tablaXY = [];
使用 Sonata\AdminBundle\Form\Type\CollectionType;
->add('tablaXY',CollectionType::class, [
'required' => false,
'by_reference' => false, // Use this because of reasons
'allow_add' => true, // True if you want allow adding new entries to the collection
'allow_delete' => true, // True if you want to allow deleting entries
'prototype' => true, // True if you want to use a custom form type
'entry_type' => TablaType::class, // Form type for the Entity that is being attached to the object
],
[
'edit' => 'inline',
'inline' => 'table',
'sortable' => 'position',
]
)
形式:
class TablaType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('ejeX', TextType::class,['label' => 'Eje X (texto)',
'required' => true,'attr' => array('class' => 'form-control'),])
->add('ejeY', NumberType::class,['label' => 'Eje Y (Número)',
'required' => true])
;
}
}
关于symfony - 在 Sonata Admin Bundle 中以编辑形式处理字符串数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25819697/