我正在尝试使用CakePHP 3.0 RC-1检索随机行,我查看了the docs。
使用我从CakePHP 2.X获得的内容,并将其作为获取CakePHP 3.0 RC-1中随机行的起点。然而,这显然不适用于蛋糕小姐:
$result = $this->Game->find('all')
->order('rand()')
->limit(1);
结果没有任何结果。数据库中有数据,我可以检索单个记录。 (即$ this-> Game-> get(20)就像它应该的那样工作)。
答案 0 :(得分:9)
只需使用"首先"获得第一个结果:
$result = $this->Game->find('all')
->order('rand()')
->first();
或者,您可以使其像get()
一样工作,因为如果没有找到结果,它将返回异常:
$result = $this->Game->find('all')
->order('rand()')
->firstOrFail();