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 Flow 中不起作用。为什么?我应该改变什么?

4

2 回答 2

1

听起来很奇怪 Flow 必须返回一个对象,就像 Extbase 一样,或者在你的情况下一个对象的 QueryResultInterface ,如果你直接需要一个对象,你可以使用这种代码:

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

希望有所帮助,

于 2013-02-06T23:39:29.680 回答
0

我没有提到,queryResult 不是它自己的对象。它是一个数组。我上面的代码正在运行。

这是 extbase 和 flow3 的区别。Flow3 返回一个数组。Extbase 对象本身。

于 2012-11-26T15:36:18.197 回答