Получить случайную строку из запроса базы данных в Кохана 3 - PullRequest
8 голосов
/ 24 декабря 2009

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

Ответы [ 2 ]

15 голосов
/ 24 декабря 2009

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

ORM::factory('some_model')->order_by(DB::expr('RAND()'))->find();
8 голосов
/ 24 декабря 2009

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

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

Или с помощью Kohona Query Builder :

$this->db->from('table')->select('*')->limit(1)->orderby(null, 'RAND()')->get();
...