Search code examples
typo3typo3-extensionstypo3-8.x

TYPO3 - Using SQL operators in QueryBuilder API v8


How to use SQL operators (https://www.w3schools.com/sql/sql_operators.asp) in this query? Like e.g. $uidMin = 5; $uidMax = 20; ...

$uid = 10;
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tt_content');
$queryBuilder->getRestrictions()->removeAll();
$statement = $queryBuilder  
    ->select('uid', 'pid', 'header')            
    ->from('tt_content')
    ->where(
       $queryBuilder->expr()->eq('uid', $uid)
    )           
    ->execute();    
while ($row = $statement->fetchAll()) {
    $this->view->assign('inet', $row);
}

What I tried is e.g (http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html).

$uidMin = 5;
$uidMax = 20;
...
$queryBuilder->expr()->between('uid', $uidMin, $uidMax)

... but didn't work.


Solution

  • What works is this:

    $queryBuilder->expr()->andX(
        $queryBuilder->expr()->gt('uid', $uidMin),
        $queryBuilder->expr()->lt('uid', $uidMax)
    )   
    

    ... but between() still doesn't work ...