簡體   English   中英

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM