コード例 #1
0
ファイル: QueryTest.php プロジェクト: punktde/pt_extlist
 public function testGetSortings()
 {
     $query = new Tx_PtExtlist_Domain_QueryObject_Query();
     $query->addSorting('test1', Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_ASC);
     $query->addSorting('test2', Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_DESC);
     $sortings = $query->getSortings();
     $this->assertTrue($sortings['test1'] == Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_ASC);
     $this->assertTrue($sortings['test2'] == Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_DESC);
 }
コード例 #2
0
 /**
  * Sets sortings on an extbase query by given query object. Returns manipulated extbase query.
  *
  * @param Tx_PtExtlist_Domain_QueryObject_Query $query Query object to get sortings from
  * @param \TYPO3\CMS\Extbase\Persistence\Generic\Query $extbaseQuery Query object to set sortings on
  * @return \TYPO3\CMS\Extbase\Persistence\Generic\Query Manipulated ExtBase query object
  */
 public static function setSortingOnExtBaseQueryByQueryObject(Tx_PtExtlist_Domain_QueryObject_Query $query, \TYPO3\CMS\Extbase\Persistence\Generic\Query $extbaseQuery)
 {
     $sortings = $query->getSortings();
     $extBaseSortings = array();
     foreach ($sortings as $field => $direction) {
         /* sorting is array('field' => 'Direction: 1 | -1') */
         $extBaseDirection = $direction == Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_ASC ? \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING : \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING;
         $extBaseSortings[$field] = $extBaseDirection;
     }
     $extbaseQuery->setOrderings($extBaseSortings);
     return $extbaseQuery;
 }
コード例 #3
0
 /**
  * Returns SQL sortings string without "ORDER BY"
  *
  * @param Tx_PtExtlist_Domain_QueryObject_Query $query
  * @return string
  */
 public static function getSorting(Tx_PtExtlist_Domain_QueryObject_Query $query)
 {
     $directionMap = array(Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_ASC => 'ASC', Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_DESC => 'DESC');
     $sortingsArray = array();
     foreach ($query->getSortings() as $field => $direction) {
         $sortingsArray[] = $field . ' ' . $directionMap[$direction];
     }
     $sortingString = implode(', ', $sortingsArray);
     return $sortingString;
 }