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);
 }
예제 #2
0
 /**
  * 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);
     }
 }
예제 #3
0
 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!');
 }