Прежде всего: где вам нужна помощь?В представлении или в модели?
Если вы хотите, чтобы он тоже выглядел как Facebook, мы говорим о View.Это не имеет ничего общего с Symfony, а только с HTML (возможно, с некоторыми CSS / JS).
Если вы говорите о том, как хранить эту информацию: информация, которую вы описываете, не является «иерархической».Иерархический - это деревья и тому подобное, большую часть времени с почти бесконечной глубиной.Здесь вы говорите о строгой структуре (вы, как разработчик, точно знаете, какие поля вы хотите визуализировать, и определяете их самостоятельно).Вы можете заглянуть в магазины Entity-Attribute-Value.Но будьте осторожны: при реализации чего-то подобного в mySQL выполнять сложные запросы будет непросто.(Даже запрос типа «Перечислить всех людей в Нью-Йорке старше 30 лет» не представляется простым).
Так почему бы вам не пойти с таблицей с большим количеством столбцов?В этом нет ничего противного!То, что вы, как человек, можете иметь проблемы с просмотром этих данных в phpMyAdmin, не имеет ничего общего с тем, как компьютер управляет этой информацией ;-).Вы можете разделить модель «Пользователь» на отдельную модель «Пользовательский профиль» (с отношением один на один), чтобы вы могли легко ссылаться на пользователей на других страницах (где вам не нужны все данные профиля).