在雄辩中得到有限的记录

时间:2016-07-08 22:08:49

标签: php laravel eloquent

首先,我很抱歉我的英语。

我有两张桌子:Users

class Users extends Model {
    public function posts(){
        return $this->hasMany('App\posts','user_id');
    }
}

posts

class posts extends Model{
    public function users(){
        return $this->belongsTo('App\Users','user_id');
    }
}

每个用户都有很多帖子。

我想只收集每个用户的4个帖子。

我测试了这段代码,但它不起作用。

Users::with(['posts'=>function($query){
    return $query->skip(0)->take(4);
}])->get();

1 个答案:

答案 0 :(得分:0)

您无法限制预计加载的结果

但是,你可以这样运行:

return Users::with('posts')->get()->map(function ($users) {
    $users->posts = $users->setRelation('posts', $users->posts->take(4));
    return $users;
});