¿Hay alguna manera de "limitar" el resultado con ELOQUENT ORM de Laravel?


Respuestas:


241

Cree un modelo de juego que extienda Eloquent y use esto:

Game::take(30)->skip(30)->get();

take()Aquí obtendrá 30 registros y skip()aquí se compensará a 30 registros.


En versiones recientes de Laravel también puede usar:

Game::limit(30)->offset(30)->get();

¿Puedo pedirle que eche un vistazo a una pregunta relacionada con ORM de Laravel aquí: stackoverflow.com/questions/59956706/… ?
Istiaque Ahmed

17

Si está buscando paginar resultados, use el paginador integrado , ¡funciona muy bien!

$games = Game::paginate(30);
// $games->results = the 30 you asked for
// $games->links() = the links to next, previous, etc pages

3
¡Esto es realmente asombroso! Usando bootstrap, literalmente todo el código que necesita es $ games = Game :: paginate (30) en su controlador y {{$ games-> links ()}} en su vista ... se encarga de todo. Amar a Laravel!
david_nash


0

Además, podemos usarlo de la siguiente manera

Para llegar solo primero

 $cat_details = DB::table('an_category')->where('slug', 'people')->first();

Para llegar por límite y compensación

$top_articles = DB::table('an_pages')->where('status',1)->limit(30)->offset(0)->orderBy('id', 'DESC')->get();
$remaining_articles = DB::table('an_pages')->where('status',1)->limit(30)->offset(30)->orderBy('id', 'DESC')->get();
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.