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 に答える