Laravel 4:如何使用雄辩的ORM“order by”
简单的问题 – 我如何按Laravel 4中的“id”降序。
我的控制器的相关部分如下所示:
$posts = $this->post->all()
据我所知,你使用这一行:
->orderBy('id', 'DESC');
但是,这怎么符合我的上面的代码?
如果你使用post作为模型(不dependency injection),你也可以这样做:
$posts = Post::orderBy('id', 'DESC')->get();
如果你使用雄辩的ORM,你应该考虑使用范围。 这将使你的逻辑保持在它所属的模型中。
那么,在模型中你将会拥有:
public function scopeIdDescending($query) { return $query->orderBy('id','DESC'); }
而在模型之外,你会有:
$posts = Post::idDescending()->get();
更多信息: http : //laravel.com/docs/eloquent#query-scopes
这是我如何去做的。
$posts = $this->post->orderBy('id', 'DESC')->get();