public function testSetAndGetCorrectLimitFormat() { $query = new Tx_PtExtlist_Domain_QueryObject_Query(); $query->setLimit(10); $this->assertTrue($query->getLimit() == 10); $query->setLimit('10:10'); $this->assertTrue($query->getLimit() == '10:10'); }
/** * Sets a limit on an extbase query by given query object. Returns manipulated extbase query. * * @param Tx_PtExtlist_Domain_QueryObject_Query $query * @param \TYPO3\CMS\Extbase\Persistence\Generic\Query $extbaseQuery * @return \TYPO3\CMS\Extbase\Persistence\Generic\Query */ public static function setLimitOnExtBaseQueryByQueryObject(Tx_PtExtlist_Domain_QueryObject_Query $query, \TYPO3\CMS\Extbase\Persistence\Generic\Query $extbaseQuery) { if ($query->getLimit() != '') { list($offset, $limit) = explode(':', $query->getLimit()); if (!$limit > 0) { $extbaseQuery->setLimit(intval($offset)); // no offset set, so offset = limit } else { $extbaseQuery->setOffset(intval($offset)); $extbaseQuery->setLimit(intval($limit)); } } return $extbaseQuery; }
/** * Returns SQL limit string without "LIMIT" * * @param Tx_PtExtlist_Domain_QueryObject_Query $query * @return string */ public static function getLimit(Tx_PtExtlist_Domain_QueryObject_Query $query) { $limit = $query->getLimit(); $limitString = preg_replace('/:/', ',', $limit); return $limitString; }