如何在CakePHP 3.0中获得随机行?

Cor*_*eus 7 php cakephp cakephp-3.0

我正在尝试使用CakePHP 3.0 RC-1检索随机行,我查看了文档.

使用我从CakePHP 2.X获得的内容,并将其作为获取CakePHP 3.0 RC-1中随机行的起点.然而,这显然不适用于Miss Cake:

$result = $this->Game->find('all')
            ->order('rand()')
            ->limit(1);
Run Code Online (Sandbox Code Playgroud)

结果没有任何结果.数据库中有数据,我可以检索单个记录.(即$ this-> Game-> get(20)就像它应该的那样工作).

Jos*_*uez 9

只需使用"first"获取第一个结果:

$result = $this->Game->find('all')
        ->order('rand()')
        ->first();
Run Code Online (Sandbox Code Playgroud)

或者,您可以使其工作get(),如果没有找到结果,它将返回异常:

$result = $this->Game->find('all')
        ->order('rand()')
        ->firstOrFail();
Run Code Online (Sandbox Code Playgroud)