Cuando estamos trabajando con paginación utilizando Eloquent y necesitamos llevar a cabo una ordenación por una columna que no se encuentra en la tabla principal la cosa se puede tornar compleja. El motivo es que no podemos hacer un orderBy("tabla.columna") ya que eso directamente fallará.
Es cierto que existen formas de hacer esto (a través de join) pero eso es poco eficiente y tu aplicación irremediablemente se volverá más lenta al momento de filtrar si tienes una gran cantidad de datos.
Gracias a la ejecución de una consulta contra la tabla interesada podemos aplicar el orden en descendente por una columna concreta. Si deseamos ordenar ascendentemente, simplemente deberíamos hacer lo siguiente.
Estoy seguro que esta forma de ordenar por relaciones HasMany en Eloquent te servirá y mucho, más aún cuando estos resultados deben utilizar paginación, algo nada sencillo.
Curso Laravel 12
Completo 2026
El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.
star Incluido en cualquier suscripción