/** * Subscribes a Use to an Exercise. * * @param Exercise $exercise * @param User $user * @param bool $flush * * @return SubscriptionManager */ public function subscribe(Exercise $exercise, User $user, $flush = false) { $subscription = new Subscription(); $subscription->setUser($user); $subscription->setExercise($exercise); $subscription->setAdmin(true); $subscription->setCreator(true); $this->om->persist($subscription); if ($flush) { $this->om->flush(); } return $this; }