Laravel 不同表之间的关联表查询

Laravel 不同表之间的关联表查询,laravel,laravel-4,eloquent,Laravel,Laravel 4,Eloquent,我有用户、帖子和朋友的关联表,可以将用户联系在一起 对于单个用户,我希望获得属于与该用户是朋友的用户的所有帖子 //user model function posts() { return $this->hasMany('Post'); } function friends() { return $this->belongsToMany('User', 'friends', 'friend_id', 'user_id'); } //post model functi

我有用户、帖子和朋友的关联表,可以将用户联系在一起

对于单个用户,我希望获得属于与该用户是朋友的用户的所有帖子

//user model
function posts() {
    return $this->hasMany('Post');
}
function friends() {
    return $this->belongsToMany('User', 'friends', 'friend_id', 'user_id');
}

//post model
function user() {
    return $this->belongsTo('User');
}

如果有人能给我指出正确的方向,那就太好了,虽然有点棘手和混乱,但应该能奏效

$friends = $user->friends()->lists('id');
$friendsPosts = Post::whereIn('user_id', $friends);

通过如下关系定义
hasManyThrough
关系:

function friendsPosts() {
    return $this->hasManyThrough('Post', 'User', 'post_id', 'user_id');
}