Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

353
Vistas
¿Cómo puedo consultar todo, ordenar y paginar?

ingrese la descripción de la imagen aquí

No sé cuál es el problema con mi consulta, pero el conteo claramente está mal, seguía mostrándose como 1912 cuando mis registros totales son 12363


Lo intenté

para cambiar esta línea en mi caso predeterminado

 $q = Visitor::where('created_at', '<', now());

para

 $q = Visitor::all(); but I got error;

El método Illuminate\Database\Eloquent\Collection::orderBy no existe.


 switch ($interval) { case 'day': $q = Visitor::where('created_at', '>', now()->today()); break; case 'week': $q = Visitor::where('created_at', '>', now()->subWeek()); break; case 'month': $q = Visitor::where('created_at', '>', now()->subMonth()); break; case 'year': $q = Visitor::where('created_at', '>', now()->subYear()); break; case 'last': $q = Visitor::where('created_at', '>', $last); break; default: $q = Visitor::where('created_at', '<', now()); break; } $visitors = $q->orderBy('created_at', 'desc')->paginate(15);

http://app.test/visitor?interval=año

Obtuve 1912 - correcto 👍🏽


http://aplicación.prueba/visitante

Obtuve 1912 - no es correcto ❌, debería consultar todo ya que no se especifica el intervalo.

Si lo hago :

 dd(count(Visitor::all()));

12363 , por lo que debería ser el valor correcto.

Por favor, avíseme si ve lo que me perdí.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

$q = Visitor::all(); devuelve Illuminate\Database\Eloquent\Collection .

Llamando $visitors = $q->orderBy('created_at', 'desc')->paginate(15); llamará a ->orderBy(...) en una Eloquent Collection de la cual ese método no existe en esa clase.

Solución

En vez de:

 $q = Visitor::where('created_at', '<', now()); ❌

Utilizar esta:

 $q = Visitor::query(); ✅
over 4 years ago · Santiago Trujillo Denunciar

0

Tal vez pueda usar ->whereDate('created_at', now()) , con ->whereTime('created_at', '00:00:00') si lo necesita

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda