/** * @return array */ public function getCardClicksData() { $clicksQuery = new ClickQuery(); $clicksQuery->groupBy(ClickTableMap::COL_CARD); $clicksQuery->orderByTimeCreate(Criteria::DESC); $clicks = $clicksQuery->find(); // -- Copy Object to Array $clicksData = array(); foreach ($clicks as $row => $click) { $clicksData[$row]['id'] = $click->getId(); $clicksData[$row]['card'] = $click->getCard(); $clicksData[$row]['clicks'] = $click->get(); $clicksData[$row]['sort_order'] = $row; } return $clicksData; }
/** * Methode zum Lösen des letzen Klicks für eine Karte. * * @Route("/rest/click", name="bingo_rest_click_delete", defaults={ "_format" = "json" }) * @Method("DELETE") * @Rest\View() * @param Request $request * @return array */ public function deleteClickAction(Request $request) { if ($request->getMethod() == 'DELETE') { $clickRequestData = array(); if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) { $clickRequestData = json_decode($request->getContent(), true); //$request->replace(is_array($data) ? $data : array()); } $click = ClickQuery::create()->orderByTimeCreate(Criteria::DESC)->findOneByCard($clickRequestData['card']); $click->delete(); } return array('name' => 'FreakXoHBingo', 'version' => Kernel::VERSION, 'clicks' => $this->getClicksManager()->getCardClicksDataWithinSeconds()); }