Ordenar por relaciones hasMany en Eloquent
Muchas veces necesitamos poder ordenar por relaciones hasMany en Eloquent para que los resultados se muestren en el orden necesario. Por ejemplo, podemos tener un listado de usuarios pero queremos que el primero de ellos sea el último que publicó un Post o compró un artículo.
Ordenar por relaciones hasMany en Eloquent es realmente fácil, sólo debemos conocer algunas de las características del ORM y utilizarlas.
Nuestro nuevo scope OrderByLastPostPublished hace la magia. Simplemente aplica un nuevo orderByDesc para que los últimos usuarios que publicaron un Post aparezcan los primeros.
Utilizar nuestro scope para conseguir estos resultados es tan sencillo como sigue.