php - santiago - rematime pisos




Laravel 4: cómo "ordenar por" usando Eloquent ORM (2)

Esta pregunta ya tiene una respuesta aquí:

Pregunta simple: cómo puedo ordenar por 'id' descendiendo en Laravel 4.

La parte relevante de mi controlador se ve así:

$posts = $this->post->all()

Según entiendo, usa esta línea:

->orderBy('id', 'DESC');

Pero, ¿cómo encaja eso con mi código anterior?


Así es como yo lo haría.

$posts = $this->post->orderBy('id', 'DESC')->get();

Si está utilizando el ORM Eloquent, debería considerar el uso de ámbitos. Esto mantendría su lógica en el modelo al que pertenece.

Entonces, en el modelo, tendrías:

public function scopeIdDescending($query)
{
        return $query->orderBy('id','DESC');
}   

Y fuera del modelo, tendrías:

$posts = Post::idDescending()->get();

Más información: http://laravel.com/docs/eloquent#query-scopes





eloquent