在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
有人有解决方案吗? 提前谢谢。
答案 0 :(得分:2)
您可以执行以下自定义查询:
$query = $this->createQuery();
$query->statement('SELECT * FROM some_table');
$result = $query->execute();
如果您不希望从查询中获取对象(我假设查看您的while循环),则可以在执行查询之前设置以下行:
$query->getQuerySettings()->setReturnRawQueryResult(TRUE);
使用setReturnRawQueryResult
得到一个普通数组。