$usuarios = User::with(['persona', 'persona.genero', 'institutos'])
->select('users.*')
->paginate(5);
Alternativas:
Paginar con parámetro desde request (para que el cliente pueda cambiar el tamaño de página):
$usuarios = User::with(['persona', 'persona.genero', 'institutos'])
->select('users.*')
->paginate(request('per_page', 5)); // 5 por defecto
Simple paginación (solo next/previous, sin números de página):
$usuarios = User::with(['persona', 'persona.genero', 'institutos'])
->select('users.*')
->simplePaginate(5);
Cómo usar en la vista:
En tu controlador:
return view('tu_vista', ['usuarios' => $usuarios]);
En tu vista Blade:
@foreach($usuarios as $usuario)
<!-- Mostrar datos del usuario -->
@endforeach
{{ $usuarios->links() }} <!-- Esto mostrará los enlaces de paginación -->
Diferencia con paginate():
paginate() es más completo (maneja automáticamente la lógica de paginación y genera enlaces)
take()/limit() con skip() es más manual pero te da control directo
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter