2017-03-03 3 views
1

Wie kann ich nur Datensätze innerhalb eines bestimmten UI-Bereichs rendern? Angenommen, ich möchte nur Datensätze wiedergeben, bei denen es sich z. höher als 100 und weniger als 200TYPO3 Extbase - Abfrage nur Datensätze innerhalb eines bestimmten UI-Bereichs

/** 
* action list 
* 
* @return void 
*/ 
public function listAction() { 

$this->view->assign('records', $this->testRepository->findAll()); 

} 

Habe ich die MathUtility verwenden müssen, und es ist isIntegerInRange ... aber wie?

Antwort

3

Verwenden Sie Ihre eigene Funktion im Repository.

-Controller

/** 
* action list 
* 
* @param integer $minUid 
* @param integer $maxUid 
* @return void 
*/ 
public function listAction() { 

    $this->view->assign('records', $this->testRepository->findUidRange($minUid,$maxUid)); 

} 

Repository

/** 
* Find records filtered by uid from to 
* 
* @param integer $minUid 
* @param integer $maxUid 
* @return \TYPO3\CMS\Extbase\Persistence\QueryResultInterface|array The query result 
*/ 
public function findUidRange($minUid = NULL, $maxUid = NULL) { 
    $query = $this->createQuery(); 
    return $query->matching(
      $query->logicalAnd(
        $query->greaterThan('uid', $minUid), 
        $query->lessThan('uid', $maxUid), 
        $query->equals('deleted', 0) 
      ))->execute(); 
} 
+0

Großen, wie ein Zauber funktioniert. Danke vielmals! –

Verwandte Themen