Skip to content

Instantly share code, notes, and snippets.

@LuizMoratelli
Last active May 17, 2019 13:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LuizMoratelli/5963a122ae6ff96b0afdd27aa7e704e9 to your computer and use it in GitHub Desktop.
Save LuizMoratelli/5963a122ae6ff96b0afdd27aa7e704e9 to your computer and use it in GitHub Desktop.
Laravel: como retornar resultados aleatórios do banco de dados
<?php
/**
* Exemplo de uso: retornar determinado número de produtos em destaque para apresentar na web.
* Considerando um model Produto com um atributo em_destaque: 1 = SIM | 2 = NÃO
*/
/**
* 1. Retornar os produtos do banco de dados.
*/
$produtos = Produto::all();
/**
* 2. Limitar para apenas retornar os produtos em destaque
*/
$produtos = Produto::where('em_destaque', '=', Produto::EM_DESTAQUE)->get();
/**
* 3. Retornar apenas um número N (3) de produtos em destaque
* O laravel suporta tanto o take(N), quanto o limit(N)
*/
$produtos = Produto::where('em_destaque', '=', Produto::EM_DESTAQUE)->limit(3)->get();
/**
* 4. Retornar um determinado número de produtos em destaque, escolhidos aleatoriamente
*/
$produtos = Produto::where('em_destaque', '=', Produto::EM_DESTAQUE)->inRandomOrder()->take(3)->get();
/**
* Referências:
* - https://laravel.com/docs/5.8/queries
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment