我在Extbase项目中使用了这个Repository方法,它运行良好。
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中不起作用。为什么?我该怎么改变?
答案 0 :(得分:1)
声音奇怪Flow必须返回一个对象,就像Extbase一样,或者在你的情况下返回一个对象的QueryResultInterface,如果你需要直接一个对象,你可以使用这种代码:
$query->execute()->getFirst();
希望有帮助,
答案 1 :(得分:0)
我没有提到,queryResult不是它自己的对象。它是一个阵列。我上面的代码正在运行。
这是extbase和flow3之间的区别。 Flow3返回一个数组。 Extbase对象本身。