Получаем случайную строку из запроса к базе данных в Kohana 3
Вопрос
Я использую модуль ORM в Kohana 3, и вместо отображения первой строки результирующего набора базы данных, какой запрос мне следует использовать в моем коде, когда я хочу получить случайную строку из определенной таблицы?
Решение
Вы можете использовать это (если используете MySQL):
ORM::factory('some_model')->order_by(DB::expr('RAND()'))->find();
Другие советы
Вы можете выполнить запрос напрямую, если вы используете MySQL:
SELECT * FROM table LIMIT 1 ORDER BY RAND();
Или с Конструктор запросов Kohona:
$this->db->from('table')->select('*')->limit(1)->orderby(null, 'RAND()')->get();
Не связан с StackOverflow