С тем как хранить и выводить подписки и подписчиков - я разобрался. Но как проверить, взаимная ли подписка (друзья) в моем случае. Я добавил еще поле "accepted", которое содержит 1 по умолчанию, но так и не смог раскрутить эту тему дальше.
public function followersOf()
{
return $this->belongsToMany(
'App\User',
'follows',
'followee_id',
'follower_id'
)->wherePivot('accepted', '=', 1)
->withPivot('accepted');
}
public function followeesOfMine()
{
return $this->belongsToMany(
'App\User',
'follows',
'follower_id',
'followee_id'
)->wherePivot('accepted', '=', 1)
->withPivot('accepted');
}