protected function handleClick(Ad $ad, EntityManager $em) { $ip = $this->getRequest()->getClientIp(); $browser = $this->getRequest()->attributes->get('_browser'); $geo = $this->getGeoIpData($ip); $click = new AdClick(); $click->setAd($ad); $click->setIp($ip); $click->setGeo($geo); $click->setBrowser($browser); $ad->setClicked($ad->getClicked() + 1); $em->persist($ad); $em->persist($click); $em->flush(); }
/** * Add click * * @param \Siciarek\AdRotatorBundle\Entity\AdClick $click * @return Ad */ public function addClick(\Siciarek\AdRotatorBundle\Entity\AdClick $click) { $click->setAd($this); $this->clicks[] = $click; return $this; }