首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typo3查询构建器

Typo3查询构建器
EN

Stack Overflow用户
提问于 2018-06-04 18:59:15
回答 1查看 1.4K关注 0票数 0

我只创建了一条SQL语句,并希望将其放入我的Typo3扩展中的有效查询构建器请求中。

SQL是

代码语言:javascript
复制
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`;

这就是我在我的控制器中尝试的

代码语言:javascript
复制
$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();

你知道查询构建器的表示应该是什么样子吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-11 20:13:14

我在实习期间一直在玩QueryBuilder,我认为你缺少一个别名:

代码语言:javascript
复制
   ->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')
      )

我一直在处理存储库文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50679035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档