Listar apenas alguns itens
Bom dia,
Nessa listagem de itens vc listou todos os itens da tabela, ou seja todas as marcas cadastradas usando o @forearth, eu gostaria de saber por exemplo, se tivesse 50 marcas e quero mostrar apenas 10 dessas em uma view, daria pra fazer isso com @forearth ? Ou como poderia fazer ?
Olá, Rafael!
Tudo bem?
Dá sim. Mais adiante vamos trabalhar com o pagination do Laravel.
Veja um exemplo:
#controller
$brands = Brand::paginate(10);
return view('panel.brands.index', compact('brands'));
# view
@foreach ($brands as $brand)
{{ $brand->name }}
@endforeach
// Paginação:
{!! $brands->links() !!}
Sim eu vi a aula sobre paginação mas não é bem o que eu quero. O que estou tentando fazer seria algo parecido com a paginação é mais ou assim.
Vou colocar como exemplo a gestão de aeroportos, então vamos imaginar que eu tenha 300 aeroportos e quero mostrar apenas 20 na pagina de onde lista os aeroportos, mas ao inves de colocar a paginação padrão, eu quero colocar um botão onde o usuario clica sobre esse botão e carrega mais 20 aeroportos, e assim sucessivamente, entendeu ? Tem alguma aula sua que ensina fazer isso ?
No botão teria escrito algo como "carregar mais resultados".
Não tem uma aula que ensine como fazer exatamente isso, porém é algo super possível. Especialmente usando o Vue.js.
Também é possível fazer isso no Laravel (não tão dinâmico, mas é possível). Porque o método paginate() pode receber um parâmetro com a quantidade de registros que é para exibir.
Exemplo:
$totalPage = $request->get('page', 10);
$dados = Model::paginate($totalPage);
Ao passar esse parâmetro na URL automaticamente muda a quantidade de registros por página:
http://url/recurso?page=30
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!