public function getByItinerary(\Buggl\MainBundle\Entity\Itinerary $itinerary, $period_of_day = 0, $limit = 0, $offset = 0) { $sql = "SELECT itsd.* \n\t\t\t\t\tFROM itinerary_to_spot_detail itsd\n\t\t\t\t\tWHERE 1\n\t\t\t\t\t\tAND itsd.itinerary_id = ?\n\t\t\t\t\t\tAND itsd.period_of_day = ?\n\t\t\t\t\t"; if ($limit > 0) { $sql .= "LIMIT ?, ?"; $params = array($itinerary->getId(), $period_of_day, $offset, $limit); } else { $params = array($itinerary->getId(), $period_of_day); } $em = $this->getEntityManager(); $rsm = new ResultSetMappingBuilder($em); $rsm->addRootEntityFromClassMetadata('BugglMainBundle:ItineraryToSpotDetail', 'itsd'); $query = $this->_em->createNativeQuery($sql, $rsm); $query->setParameters($params); $result = $query->getResult(); return $result; }