C'è un modo per "limitare" il risultato con ELOQUENT ORM di Laravel?


Risposte:


241

Crea un modello di gioco che estende Eloquent e usa questo:

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

take()qui otterrà 30 record e skip()qui sarà compensato a 30 record.


Nelle recenti versioni di Laravel puoi anche usare:

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

posso chiederti di dare un'occhiata a una domanda relativa a ORM di Laravel qui: stackoverflow.com/questions/59956706/… ?
Istiaque Ahmed,

17

Se stai cercando di impaginare i risultati, usa il paginatore integrato , funziona alla grande!

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

3
Questo è davvero fantastico! Usando bootstrap, letteralmente tutto il codice che ti serve è $ games = Game :: paginate (30) nel tuo controller e {{$ games-> links ()}} a tuo avviso ... si occupa di tutto. Laravel amorevole!
david_nash


0

Inoltre, possiamo usarlo seguendo i modi

Per ottenere solo per primo

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

Per ottenere il limite e l'offset

$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();
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.