关注者/关注者,并找到关注Laravel的人

时间:2016-03-08 15:05:43

标签: php mysql laravel eloquent

我的关系表如下:

UserId (PK)
FollowingId
created_at
updated_at

我可以通过执行以下操作来获取用户关注的人及其用户名:

我的控制器:

$findingWhoIFollow = User::find($userId)->relations()->FindUserName()->get();

我的模特(用户):

public function relations()
{
    return $this->hasMany(Relation::class, 'UserId', 'id');
}

我的模特:(关系)

protected $primaryKey = 'UserId';

public function user()
{
    return $this->belongsToMany(User::class, 'id', 'UserId');
}
public function scopeFindUserName($query)
{
    return $query->join('User', 'User.id', '=', 'Relation.FollowingId');
}

然后我就可以得到我关注的人的用户名:

@foreach($findingWhoIFollow as $iFollow)
     {{$iFollow->Username}}
@endforeach

然而,我正在努力做到这一点的反过来:例如:让用户关注我的帐户用户名。我认为这与我的人际关系有关,而且我遗漏了一些显而易见的事情。

1 个答案:

答案 0 :(得分:0)

通过修改我的关系来修复我的关系,根据建议的重复发布的Fabio Antunes(Friendship system with Laravel : Many to Many relationship