0

在 Typo3 6.1 版中,我在 My extension Repository 中编写了一些自定义查询

例如在文件 Mytest/Classes/Domain/Repository/MytestRepository.php

class MytestRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
 public function myFunction(){

        $sql = 'SELECT * FROM some_table ';

        $sqlResult = $GLOBALS['TYPO3_DB']->sql_query($sql);
        while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($sqlResult)) {
                $rowone = $row['rowone'];
        }
 }
}

并在控制器中调用该函数

$test = $this->MytestRepository->myFunction();

但这里的问题是,我收到错误

Fatal error: Call to a member function fetch_assoc() on a non-object in /home/src/typo3_src-6.1.1/typo3/sysext/core/Classes/Database/DatabaseConnection.php on line 1029 

有人有解决方案吗?提前致谢。

4

1 回答 1

2

您可以像这样执行自定义查询:

$query = $this->createQuery();
$query->statement('SELECT * FROM some_table');
$result = $query->execute();

如果您不想从查询中获取对象,我假设查看您的 while 循环,您可以在执行查询之前设置以下行:

$query->getQuerySettings()->setReturnRawQueryResult(TRUE);

结果是你得到setReturnRawQueryResult一个普通的数组。

于 2013-06-12T11:57:44.703 回答