Получите случайную строку из запроса базы данных в Kohana 3


Я использую модуль ORM в Kohana 3 и вместо отображения первой строки результирующего набора базы данных, какой запрос я должен использовать в своем коде, когда я хочу получить случайную строку из определенной таблицы?

Author: random, 2009-12-24

2 answers

Вы можете использовать это (если используете MySQL):

ORM::factory('some_model')->order_by(DB::expr('RAND()'))->find();
 15
Author: dusan, 2009-12-24 13:20:25

Вы можете отправить запрос напрямую, если используете MySQL:

SELECT * FROM table LIMIT 1 ORDER BY RAND();

Или с помощью Конструктора запросов Kohona:

$this->db->from('table')->select('*')->limit(1)->orderby(null, 'RAND()')->get();
 8
Author: Alix Axel, 2009-12-24 04:31:09