好了,我终于看到了我弄糟的地方,很简单,当我将用户添加到arrayCollection时,我的更改没有保存,所以我用一个空数组结束,要保存更改,只需添加:
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
最后,我的控制器如下所示:
public function addFriends(Request $request)
{
if (isset($request) && is_string($id = $request->get('id'))) {
$user = $this->getUser();
$friend = $this->getDoctrine()->getRepository(User::class)->find($id);
$user->addFriend($friend);
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
}
return $this->redirectToRoute('friends');
}
希望这能帮助别人!