/** * @param UserDocument $user * @param UserDocument $request */ public function confirmRequest($user, $request) { $user->removeRequest($request); $user->addFriend($request); $request->addFriend($user); $this->manager->persist($user); $this->manager->persist($request); $this->manager->flush(); }
/** * {@inheritDoc} */ public function load(ObjectManager $manager) { $users = array(1 => array('name' => 'John Doe', 'email' => '*****@*****.**', 'friends' => array(), 'requests' => array()), 2 => array('name' => 'Sara Doe', 'email' => '*****@*****.**', 'friends' => array(), 'requests' => array(1)), 3 => array('name' => 'James Doe', 'email' => '*****@*****.**', 'friends' => array(), 'requests' => array(1, 2)), 4 => array('name' => 'Jane Smith', 'email' => '*****@*****.**', 'friends' => array(), 'requests' => array(3)), 5 => array('name' => 'Anonymous', 'email' => '*****@*****.**', 'friends' => array(), 'requests' => array(4))); foreach ($users as $id => $userData) { $user = new User(); $user->setName($userData['name']); $user->setEmail($userData['email']); foreach ($userData['friends'] as $friendId) { $user->addFriend($this->getReference('user_' . $friendId)); } foreach ($userData['requests'] as $requestId) { $user->addRequest($this->getReference('user_' . $requestId)); } $manager->persist($user); $this->addReference('user_' . $id, $user); } $manager->flush(); }