【发布时间】:2019-07-15 06:16:35
【问题描述】:
我必须使用 QueryBuilder 将一些代码从 TYPO3 DB 包装器迁移到 Doctrine。在我的数据库中有四个条目。
原文:
$statementToMigrate = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
'job_id,uid,pid,hash',
'tx_test',
'deleted = 0',
null,
null,
null,
'job_id'
);
还有我的 QueryBuilder 版本:
$table = 'tx_test';
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
->getQueryBuilderForTable($table);
$sql = $queryBuilder
->select(
"job_id,uid,pid,hash"
)
->from($table)
->where(
$queryBuilder->expr()->eq('deleted', 0)
)
->execute()
->fetchAll();
原始语句为我提供了所有四个条目。 新版本只有两个。差异在哪里? 以及如何在学说中设置“$uidIndexField=''”?
解决方案: 我加了
$queryBuilder
->getRestrictions()
->removeByType(StartTimeRestriction::class)
->removeByType(EndTimeRestriction::class);
现在可以了
【问题讨论】: