public function setup() { $this->queryObject = new Tx_PtExtlist_Domain_QueryObject_Query(); // select $this->queryObject->addField('name'); $this->queryObject->addField('age'); // from $this->queryObject->addFrom('Users u'); $this->queryObject->addFrom('Groups g'); // where $this->queryObject->addCriteria(Tx_PtExtlist_Domain_QueryObject_Criteria::equals('name', 'Michael')); // group by $this->queryObject->addGroupBy('name'); $this->queryObject->addGroupBy('company'); // limit $this->queryObject->setLimit('10:10'); // sortings $this->queryObject->addSorting('test'); $this->queryObject->addSorting('test2', Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_DESC); }
/** * Set limits from current pager on given query object. * * @param Tx_PtExtlist_Domain_QueryObject_Query $query * @return void */ protected function setLimitOnQuery(Tx_PtExtlist_Domain_QueryObject_Query $query) { if ($this->pagerCollection->isEnabled()) { $limitPart = ''; $pagerOffset = $this->pagerCollection->getItemOffset(); $pagerLimit = intval($this->pagerCollection->getItemsPerPage()); $limitPart .= $pagerOffset > 0 ? $pagerOffset . ':' : ''; $limitPart .= $pagerLimit > 0 ? $pagerLimit : ''; $query->setLimit($limitPart); } }
public function testThrowExceptionOnWrongLimitFormat() { $query = new Tx_PtExtlist_Domain_QueryObject_Query(); try { $query->setLimit('10/10'); } catch (Exception $e) { return; } $this->fail('No error thrown on wrong limit format!'); }