2016-03-02 7 views
2

Моя следующая проблема заключается в том, чтобы заказать элементы, имеющие hasMany Relationship, и поле для заказа находится в Отчете.Laravel orderBy hasMany Отношения

У меня есть таблица: страна, которая имеет только поле ID я есть также таблицу: country_translation, которая имеет столбцы: имя, языки

в моем CountryController в индексе() - метод, я хочу, чтобы показать все страны для языка по умолчанию сортируют их по имени параметра и разбивают на них страницы.

Вот моя страна Модель:

class Country extends Model { 

    protected $fillable = [ 
     'code', 'latitude', 'longitude', 'currency_id', 'timezone', 'dam_date', 'status', 
    ]; 

    public function translations() { 

     return $this->hasMany('App\Models\CountryTranslation'); 

    } 
} 

CountryTranslation Модель:

class CountryTranslation extends Model { 

    protected $fillable = [ 
     'name', 'lang', 'country_id', 
    ]; 

    public function country() { 
     return $this->hasOne('Country'); 
    } 
} 

ответ

1

Если я правильно undestood вас, это должно работать:

$countries = CountryTranslation::where('lang', 'en')->orderBy('name')->paginate(20) 
+0

Еще раз спасибо :) –