Laravel 4: Как "заказать" с помощью красноречивого ORM [дубликат]
этот вопрос уже есть ответ здесь:
простой вопрос-как мне заказать " id " по убыванию в Laravel 4.
соответствующая часть моего контроллера выглядит так:
$posts = $this->post->all()
Как я понимаю, вы используете это линия:
->orderBy('id', 'DESC');
но как это вписывается в мой код выше?
3 ответа:
Если вы используете post в качестве модели (без инъекции зависимостей), вы также можете сделать:
$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