Laravel orderBy有很多关系

时间:2016-03-02 12:59:56

标签: php laravel relationship

我的下一个问题是订购具有hasMany关系的商品,订购字段位于关系中。

我有table:country,它只有ID字段 我还有table:country_translation,它有列:name,lang

在我的CountryController中的index() - 方法我希望显示所有国家/地区的默认语言按参数名称对它们进行排序并对它们进行分页。

这是我的国家模型:

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 个答案:

答案 0 :(得分:1)

如果我没有正确地理解你,这应该有效:

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