Como usar o recurso de paginação do Laravel no site
Você está procurando integrar a paginação embutida do Laravel em seu aplicativo? A paginação é sempre uma tarefa demorada. Se estivermos fazendo isso sem nenhuma biblioteca de terceiros, então precisamos lidar com links de paginação, registros totais, registros por página, etc. Neste artigo, mostramos como usar a paginação no Laravel que já vem com a instalação do Laravel.
Em um site, frequentemente precisamos de paginações. Para mostrar o grande conjunto de registros, usamos a paginação. Ao usar a paginação, dividimos um grande conjunto de dados em pequenas partes. Isso reduzirá a carga em nosso servidor e, como resultado, o servidor responderá rapidamente.
Como usar a paginação do Laravel
Digamos que temos a tabela ‘produtos’ em nosso banco de dados e esta tabela contém um grande conjunto de registros. Nosso objetivo é mostrar 10 linhas por vez a partir desta tabela. E para os próximos registros, usaremos os links de paginação.
Em nosso controlador, usamos o paginate
método e passamos o valor 10 como argumento.
public function index()
{
$products = DB::table('products')->paginate(10);
return view('products.index', ['products' => $products]);
}
O código acima irá buscar 10 linhas da tabela do banco de dados e passar esses registros para a visualização.
Para exibir esses registros na visualização, escrevemos o código da seguinte maneira.
<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() }}
Aqui, o links
método retorna uma visão da paginação que é baseada na paginação da tabela de bootstrap.
O Laravel também nos permite usar consultas paginadas do Eloquent ao invés do construtor de consultas.
$products = AppProduct::paginate(10);
Passe parâmetros extras para links de paginação
Normalmente aplicamos paginação com as tabelas HTML. Junto com a lista de registros da tabela, fornecemos o campo de pesquisa para filtrar os registros. Para persistir os filtros de pesquisa, devemos passar a string de pesquisa em links de paginação como abaixo.
http: // YOUR_SITE_DOMAIN / products? s = test & page = 1
Para conseguir isso, precisamos passar a string de pesquisa para visualizar a partir do controlador.
$products = DB::table('products')->paginate(10);
$products->search = 'YOUR_SEARCH_STRING';
return view('products.index', ['products' => $products]);
Em seguida, para exibir links de paginação, modificamos nosso código na visualização da seguinte maneira.
{{ $products->appends(['s' => $products->search])->links() }}
appends
método adiciona string de consulta aos links de paginação.
Esperamos que você entenda como fazer a paginação do Laravel em seu aplicativo. Se você tiver alguma dúvida ou sugestão, por favor, deixe um comentário abaixo.
Artigos relacionados
- Como usar o recurso de conexões múltiplas de banco de dados do Laravel em um site
- Crie um site multilíngue em PHP usando o Laravel Framework
- Como instalar e usar o CKEditor no Laravel