Obtenha uma linha aleatória de uma consulta de banco de dados em Kohana 3
Pergunta
Estou usando o módulo ORM em Kohana 3 e, em vez de exibir a primeira linha de um conjunto de resultados de banco de dados, que consulta devo usar no meu código quando quiser obter uma linha aleatória de uma determinada tabela?
Solução
Você pode usar isso (se estiver usando o MySQL):
ORM::factory('some_model')->order_by(DB::expr('RAND()'))->find();
Outras dicas
Você pode emitir a consulta diretamente, se estiver usando o MySQL:
SELECT * FROM table LIMIT 1 ORDER BY RAND();
Ou com KOHONA Construtora de consulta:
$this->db->from('table')->select('*')->limit(1)->orderby(null, 'RAND()')->get();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow