При выводе большого количества ресурсов из базы данных, может потребоваться разбить их на части и выводить по отдельности на каждой странице. Для этого нужна пагинация.
В Laravel пагинация делается следующим образом:
Контроллер
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Post;
class AppController extends Controller
{
$items= Posts::paginate(25);
return view('home', compact('items'));
}
Шаблон
@if($items->total() > $items->count())
<br>
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card">
<div class="card-body">
{{ $items->links() }}
</div>
</div>
</div>
</div>
@endif
Метод links()
формирует пагинацию используя верстку по умолчанию, а это может быть и Tailwind CSS. В таком случае, если нужно сменить верстку, скажем, на Bootstrap, нужно сделать следующее:
Заходим в файл project.local\app\Providers\AppServiceProvider.php
.
- Добавляем пространство имен:
use Illuminate\Pagination\Paginator;
- В метод
Boot()
добавляем следующее:Paginator::useBootstrap();
С этого момента, для пагинации будет исопльзоваться верстка Bootstrap