Вы можете использовать формы для встраивания.В своем пользовательском типе формы вы можете определить несколько полей ввода для своей потребности, а затем использовать его в своем типе CollectionType.
// src/Form/TagType.php
namespace App\Form;
use App\Entity\Tag;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class TagType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('string_field')
->add('int_field')
->add('whatever_field');
}
}
Использовать в качестве entry_type следующим образом:
use App\Form\TagType;
// ...
$builder
->add('multiple_fields_collection', CollectionType::class, [
'entry_type' => TagType::class,
'allow_add' => true,
'allow_delete' => true,
]);
Дополнительная информация:https://symfony.com/doc/current/form/form_collections.html