Сортировка модели по полю в связанной таблице (Laravel4)

Рейтинг: -1Ответов: 1Опубликовано: 22.10.2014

Ребята, выручайте, российское сообщество Ларавела, к сожалению, бессильно.
Есть две таблицы - articles(id, text, category_id) и categories(id, name).
Модели:

 class Articles extends Eloquent
{
    protected $fillable = array('text', 'category_id');

    public function category()
    {
        return $this->belongsTo('Categories', 'category_id');
    }
}

    class Categories extends Eloquent
{
    public $table = 'categories';

}

Задача получить все статьи, отсортированные по полю name.

Вариант:

Articles::with('category')->orderBy('name')->paginate(10)->get()

не работает. Выручайте.

UPD
Пока что заработало только

Articles::with('category')
        ->join('categories', 'articles.category_id', '=', 'categories.id')
        ->orderBy('categories.name', 'DESC')
        ->get();

Но хочется как-то попрямее.

Ответы

▲ 1

Точно не уверен, но попробуй :)

Articles::with(array('category' => function($query) {
        $query->orderBy('name');
    }))
    ->get();