问题
Simple question - how do I order by 'id' descending in Laravel 4.
The relevant part of my controller looks like this:
$posts = $this->post->all()
As I understand you use this line:
->orderBy('id', 'DESC');
But how does that fit in with my above code?
回答1:
If you are using post as a model (without dependency injection), you can also do:
$posts = Post::orderBy('id', 'DESC')->get();
回答2:
If you are using the Eloquent ORM you should consider using scopes. This would keep your logic in the model where it belongs.
So, in the model you would have:
public function scopeIdDescending($query)
{
return $query->orderBy('id','DESC');
}
And outside the model you would have:
$posts = Post::idDescending()->get();
More info: http://laravel.com/docs/eloquent#query-scopes
回答3:
This is how I would go about it.
$posts = $this->post->orderBy('id', 'DESC')->get();
来源:https://stackoverflow.com/questions/17553181/laravel-4-how-to-order-by-using-eloquent-orm