private function addSearch($opportunity) { $organization = $opportunity->getOrganization(); $skills = $opportunity->getSkills(); $focuses = $organization->getFocuses(); $search = new Search(); $search->setDate(new \DateTime()); $search->setType('opportunity'); $search->setOrganization($organization); $search->setOpportunity($opportunity); foreach ($focuses as $focus) { $searchClone = clone $search; $searchClone->setFocus($focus); $this->em->persist($searchClone); } foreach ($skills as $skill) { $searchClone = clone $search; $searchClone->setSkill($skill); $this->em->persist($searchClone); } if (!isset($searchClone)) { $this->em->persist($search); } $this->em->flush(); }