2

Extbaseプロジェクトでこのリポジトリメソッドを使用しましたが、正常に機能しました。

public function findRandom() {
    $rows = $this->createQuery()->execute()->count();
    $row_number = mt_rand(0, max(0, ($rows - 1)));
    return $this->createQuery()->setOffset($row_number)->setLimit(1)->execute();
}

TYPO3フローでは動作しません。なんで?そして、私は何を変えるべきですか?

4

2 に答える 2

1

奇妙に聞こえるフローは、Extbaseのように、これでオブジェクトを返す必要があります。この場合、1つのオブジェクトのQueryResultInterfaceを返す必要があります。オブジェクトを直接必要とする場合は、次の種類のコードを使用できます。

$query->execute()->getFirst();

お役に立てば幸いです。

于 2013-02-06T23:39:29.680 に答える
0

私は言及しませんでした、queryResultはそれ自体のオブジェクトではありません。その配列。上記の私のコードは機能しています。

これは、extbaseとflow3の違いです。Flow3は配列を返します。オブジェクト自体を拡張します。

于 2012-11-26T15:36:18.197 に答える