si lo que necesitas es usar take() y limit() (que son equivalentes en Laravel), puedes hacerlo así para obtener los registros de 5 en 5:

PHOTO EMBED

Fri Aug 08 2025 14:18:29 GMT+0000 (Coordinated Universal Time)

Saved by @jrg_300i #php #laravel

$usuarios = User::with(['persona', 'persona.genero', 'institutos'])
              ->select('users.*')
              ->take(5) // o ->limit(5)
              ->get();

Si necesitas paginación manual (avanzar de 5 en 5):
Si quieres controlar el "offset" (desplazamiento) manualmente, puedes combinar skip() y take():

$page = request('page', 1); // Página actual, por defecto 1
$perPage = 5; // Registros por página

$usuarios = User::with(['persona', 'persona.genero', 'institutos'])
              ->select('users.*')
              ->skip(($page - 1) * $perPage) // Salta los registros anteriores
              ->take($perPage) // Toma solo 5
              ->get();

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
content_copyCOPY