从Kohana 3中的数据库查询中获取随机行

ed.*_*ed. 8 php mysql sql kohana kohana-3

我在Kohana 3中使用ORM模块而不是显示数据库结果集的第一行,当我想从某个表中获取随机行时,我应该在代码中使用什么查询?

dus*_*san 15

你可以使用它(如果使用MySQL):

ORM::factory('some_model')->order_by(DB::expr('RAND()'))->find();
Run Code Online (Sandbox Code Playgroud)


Ali*_*xel 8

如果您使用的是MySQL,可以直接发出查询:

SELECT * FROM table LIMIT 1 ORDER BY RAND();
Run Code Online (Sandbox Code Playgroud)

或者使用Kohona Query Builder:

$this->db->from('table')->select('*')->limit(1)->orderby(null, 'RAND()')->get();
Run Code Online (Sandbox Code Playgroud)