Laravel 5.1使用限制在with()方法中的雄辩

时间:2015-12-04 06:19:08

标签: laravel eloquent limit laravel-5.1

$staffGroup = StaffGroup::where('id', $id)
            ->with('staffGroupRight')
            ->first();

StaffGroup Model

public function staffGroupRight() {
    return $this->hasMany('Modules\Staff\Http\Models\StaffGroupRight');
}

我所做的是,

public function staffGroupRight() {
    return $this->hasMany('Modules\Staff\Http\Models\StaffGroupRight')->take(5);
}

但它为所有staff_group提供了总共5行,但我希望limitstaff_group

例如

有10个staff_group然后它为该10 staffgrouprights提供了staff_group的5条记录,但我想要5个单staff_group

此处staffGroupRight返回data,适用于id的{​​{1}}。

但我想在staff group方法数据中设置limit

是否可以在with()方法中设置limit或不...?

1 个答案:

答案 0 :(得分:6)

$staffGroup = StaffGroup::where('id', $id)
        ->with(['staffGroupRight' => function($query){
            return $query->take(10);
            }])
        ->first();

我假设您想拍摄10条staffGroupRight记录。