Я думаю, что вы пропустили несколько бит в вашем коде.Во-первых, поскольку вы делаете «многие ко многим», это приведет к появлению новой таблицы.Это ваше (usertarget, usersource).Затем вы понимаете, что где-то должен быть какой-то массив или какой-то способ извлечения информации.В SQL ваши собственные ссылки «многие ко многим» для пользователя Джорджа, показывающего всех его друзей, будут выглядеть так:
SELECT F.Id
FROM user U
JOIN user_user MtM ON U.Id = MtM.usersource
JOIN user F ON F.Id = MtM.usertarget
WHERE U.Name = 'George'
Объединения должны каким-то образом дублироваться в коде.Возможно, так:
* @ORM\JoinTable(name="user_user",
* joinColumns={
* @ORM\JoinColumn(name="usersource",
* referencedColumnName="userfriends")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="usertarget", referencedColumnName="id")
* }
* )
Ответ во многом зависит от того, что вы подразумеваете под отображать всех друзей пользователя .Для представлений в Symfony вам может понадобиться нечто более сложное, чем просто переменная.Когда появятся данные, им нужно видимое представление, некоторые средства для отображения результатов.Проверьте следующие ссылки для некоторых идей: