我如何在 CakePHP 3.0 中获得随机行?
How do I get a random row in CakePHP 3.0?
我正在尝试使用 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) 正常工作)。
只需使用 "first" 获得第一个结果:
$result = $this->Game->find('all')
->order('rand()')
->first();
或者,您可以使它像 get()
那样工作,因为如果找不到结果,它会 return 异常:
$result = $this->Game->find('all')
->order('rand()')
->firstOrFail();
我正在尝试使用 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) 正常工作)。
只需使用 "first" 获得第一个结果:
$result = $this->Game->find('all')
->order('rand()')
->first();
或者,您可以使它像 get()
那样工作,因为如果找不到结果,它会 return 异常:
$result = $this->Game->find('all')
->order('rand()')
->firstOrFail();