PHP « Кастомные конфиги для many-to-many связей в Symfony Form

Всем привет.

Есть следующая ситуация.
Имеется слудующая структура doctrine сущностей:

class User
{
    private $id;
    private $name;
}

class Attribute
{
    private $id;
    private $name;
}

class UserAttribute
{
    private $user;
    private $attribute;
    private $value;
}


Для этих doctrine сущностей прописаны такие связи:
User один ко многим к UserAttribute
Attribute один ко многим к UserAttribute
User много ко многим к Attribute

Аттрибутов имеется заранее известное количество, например 3 и поле name у них содержит следующие значения - city, gender, phone. Причем каждого аттрибута у каждого юзера может быть любое количество.
То есть в таблице user_attribute у каждого юзера может быть несколько записей сылающихся, например, на аттрибут gender.

Требуется вывести форму для всех много-ко-многим аттрибутам какого-то User'а.

Symfony поддерживает связи в формах, но вопрос в том, что надо вывести с небольшой хитростью - все поля, которые ссылаются на аттрибут city надо вывести как текстовое поле с классом city_autocomplete, все поля, которые ссылаются на аттрибут gender надо отобразить как select'ы, все поля phone еще как-то.

Иными словами для каждой строки из user_attribute надо сгенерировать свой тип поля, конфиг которого основывается на поле из другой сущности.

Как-то немного путанно, спрашивайте если что - попробую объяснить иными словами.
Спасибо.

1 ответов