为什么这个存储库方法不起作用?

时间:2012-11-15 14:31:13

标签: typo3-flow

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

2 个答案:

答案 0 :(得分:1)

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

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

希望有帮助,

答案 1 :(得分:0)

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

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