TYPO3 Extbase - 只查询某个uid范围内的记录

TYPO3 Extbase - Query only records within a certain uid range

如何只渲染某个uid范围内的记录?假设我只想呈现 uid 所在的记录,例如高于 100 且低于 200

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

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

}

我需要使用 MathUtility 吗?它是 isIntegerInRange ...但是如何使用?

在存储库中使用您自己的函数。

控制器

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

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

}

存储库

/**
 * 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();
}