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