Hur man använder den inbyggda Laravel Pagination-funktionen på webbplatsen
Vill du integrera inbyggd Laravel-paginering i din applikation? Pagination är alltid en lång uppgift. Om vi gör det utan något tredjepartsbibliotek måste vi hantera paginatlänkar, totala poster, poster per sida osv. I den här artikeln visar vi dig hur du använder paginering i Laravel som redan levereras med Laravel-installationen.
På en webbplats behöver vi ofta sidor. För att visa den stora uppsättningen poster använder vi pagination. Genom att använda paginering delar vi upp stora datamängder i små delar. Det minskar belastningen på vår server och som ett resultat svarar servern snabbt.
Hur man använder Laravel Pagination
Låt oss säga att vi har tabellprodukter i vår databas och den här tabellen innehåller en stor uppsättning poster. Vårt mål är att visa tio rader åt gången från den här tabellen. Och för nästa rekord kommer vi att använda paginatlänkarna.
I vår controller använder vi paginate
metoden och skickar värdet 10 som argument.
public function index()
{
$products = DB::table('products')->paginate(10);
return view('products.index', ['products' => $products]);
}
Ovanstående kod hämtar 10 rader från databastabellen och skickar dessa poster till vyn.
För att visa dessa poster i vyn skriver vi koden enligt följande.
<table class="table">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
@foreach($products as $p)
<tr>
<td>{{ $p->id }}</td>
<td>{{ $p->name }}</td>
<td>{{ $p->description }}</td>
</tr>
@endforeach
</tbody>
</table>
{{ $products->links() }}
Här links
returnerar metoden en vy av pagination som är baserad på bootstrap-tabellpagination.
Laravel tillåter oss också att använda paginate Eloquent-frågor istället för query builder.
$products = AppProduct::paginate(10);
Skicka extra parametrar för att paginera länkar
Normalt använder vi paginering med HTML-tabellerna. Tillsammans med tabellistan med poster ger vi sökfältet för att filtrera poster. För att bestå sökfilter, ska vi skicka söksträng i paginatlänkar som nedan.
http: // YOUR_SITE_DOMAIN / products? s = test & page = 1
För att uppnå detta måste vi skicka söksträng för att se från styrenheten.
$products = DB::table('products')->paginate(10);
$products->search = 'YOUR_SEARCH_STRING';
return view('products.index', ['products' => $products]);
Därefter ändrar vi vår kod för att visa paginatlänkar på följande sätt.
{{ $products->appends(['s' => $products->search])->links() }}
appends
metod lägg till frågesträng i paginationslänkarna.
Vi hoppas att du förstår hur man gör Laravel pagination i din ansökan. Om du har några frågor eller förslag, vänligen lämna en kommentar nedan.
relaterade artiklar
- Hur man använder Laravel Multiple Database Connections-funktionen på en webbplats
- Skapa flerspråkig webbplats i PHP med hjälp av Laravel Framework
- Hur man installerar och använder CKEditor i Laravel