web-dev-qa-db-fra.com

Est-il possible de "limiter" le résultat avec ELOQUENT ORM de Laravel?

Est-il possible de "limiter" le résultat avec ELOQUENT ORM de Laravel?

 SELECT * FROM  `games` LIMIT 30 , 30 

Et avec Eloquent?

128
Natan Shalva

Créez un modèle de jeu qui étend Eloquent et utilisez-le:

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

take() ici obtiendra 30 enregistrements et skip() ici sera décalé à 30 enregistrements.


Dans les versions récentes de Laravel, vous pouvez également utiliser:

Game::limit(30)->offset(30)->get();
229
Muhammad Usman

Si vous souhaitez paginer les résultats, utilisez le paginateur intégré, cela fonctionne très bien!

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

Nous pouvons utiliser LIMIT comme ci-dessous:

Model::take(20)->get();
12
srmilon