Проблема при использовании повторяющихся полей AssociationField одной сущности EasyAdmin

EasyAdmin 4
Есть отношение M2M между Product и AttributeValue.
Строк в AttributeValue может быть тысячи и чтобы удобнее создавать/редактировать товары нужно разделить значения по атрибуту, что собственно и сделал через QueryBuilder, но появляется проблема при использовании повторяющихся AssociationField ('AttributeValues').
При редактировании или создании объекта отображается только поле (последнее) "Property #2".
Как это исправить?

AssociationField::new('attributeValues', 'Property #1')
->setQueryBuilder(function(QueryBuilder $qb) {
return $qb->andWhere('entity.attribute = 5');
}),

AssociationField::new('attributeValues', 'Property #2')
->setQueryBuilder(function(QueryBuilder $qb){
return $qb->andWhere('entity.attribute = 1');
}),

Ответы (2 шт):

Автор решения: Borislav

Если у вас связь ManyToMany, соответственно, в вашей Entity свойство будет как ArrayCollection, в таком случае, можете попробовать подобный код с типом поля CollectionType. ModelType будет вложенный тип, который вы должны реализовать, по факту, отображение одного значения из коллекции attributeValues.

    $builder->add('models', CollectionType::class, [
        'label'              => false,
        'entry_type'         => ModelType::class,
        'allow_extra_fields' => true,
        'entry_options'      => [
            'label' => false,
            'model_repository' => $options['model_repository']
        ]
    ])

ModelType:

class ModelType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $currentModel = $options['model_repository']->find(
            $builder->getForm()->getName()
        );

        $builder->add('model', null, [
            'label' => $currentModel->getName()
        ]);
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => Model::class
        ]);

        $resolver->setRequired('model_repository');
    }
}

→ Ссылка
Автор решения: Andrew

Решил данную проблему при помощи JS. Разделил общее поле на "подкатегории", а выбор загонял в общий select.

→ Ссылка