Laravel 4:如何“订购”;使用雄辩ORM

简单的问题-我如何在Laravel 4中按“id”降序排序。

控制器的相关部分是这样的:

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

据我所知你是这么说的

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

但这如何与我上面的代码相匹配呢?

683454 次浏览

这就是我要做的。

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

如果你使用post作为模型(没有依赖注入),你还可以这样做:

$posts = Post::orderBy('id', 'DESC')->get();

如果您正在使用Eloquent ORM,您应该考虑使用作用域。这将使您的逻辑保持在模型中它所属的位置。

所以,在模型中你会有:

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

在模型之外,你会有:

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

更多信息:http://laravel.com/docs/eloquent#query-scopes