我只创建了一条SQL语句,并希望将其放入我的Typo3扩展中的有效查询构建器请求中。
SQL是
SELECT FROM_UNIXTIME(tx_operations_domain_model_operation.begin, '%Y') as year,
count(tx_operations_operation_type_mm.`uid_foreign`) as cont,
tx_operations_domain_model_type.`title`
FROM tx_operations_domain_model_operation
INNER JOIN
tx_operations_operation_type_mm ON (`tx_operations_operation_type_mm`.`uid_local` = tx_operations_domain_model_operation.uid)
INNER JOIN
tx_operations_domain_model_type ON (`tx_operations_domain_model_type`.`uid` = `tx_operations_operation_type_mm`.`uid_foreign`)
GROUP BY FROM_UNIXTIME(tx_operations_domain_model_operation.begin, '%Y'), tx_operations_operation_type_mm.`uid_foreign`;这就是我在我的控制器中尝试的
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_operations_domain_model_operation');
$statement = $queryBuilder
->select('tx_operations_domain_model_operation.begin, \'%Y\') as year', 'count(tx_operations_operation_type_mm.`uid_foreign`) as cont')
->from('tx_operations_domain_model_operation')
->join(
'tx_operations_domain_model_operation',
'tx_operations_operation_type_mm',
$queryBuilder->expr()->eq('tx_operations_operation_type_mm.uid_local', $queryBuilder->quoteIdentifier('tx_operations_domain_model_operation.uid'))
)
->join(
'tx_operations_operation_type_mm',
'tx_operations_domain_model_type',
$queryBuilder->expr()->eq('tx_operations_domain_model_type.uid_local', $queryBuilder->quoteIdentifier('tx_operations_operation_type_mm.uid_foreign'))
)
->groupBy('UNIXTIME(tx_operations_domain_model_operation.begin, \'%Y\')', 'tx_operations_operation_type_mm.`uid_foreign')
->execute();你知道查询构建器的表示应该是什么样子吗?
发布于 2018-06-11 20:13:14
我在实习期间一直在玩QueryBuilder,我认为你缺少一个别名:
->join(
'tt_content_orig',
'sys_language',
'sys_language', /** Insert alias name, in this case it's the same name **/
$queryBuilder->expr()->eq(
'tt_content_orig.sys_language_uid',
$queryBuilder->quoteIdentifier('sys_language.uid')
)我一直在处理存储库文件。
https://stackoverflow.com/questions/50679035
复制相似问题