Laravel 5.2关注用户系统

时间:2016-04-26 21:34:32

标签: php database laravel

我想知道设置跟踪系统的最佳方法是用户可以关注其他用户。是否可以像创建关注者表一样简单,并按照其他用户的ID插入用户ID?感谢。

1 个答案:

答案 0 :(得分:8)

是的,用laravel创造这种壮举很容易。

我建议你这个:Friendship system with Laravel : Many to Many relationship

你需要做的就是跟随者替换朋友。

示例:

创建一个表格:

followers: id, user_id, follower_id.

在您的用户模型中,您将拥有此关系

function followers()
{
  return $this->belongsToMany('App\User', 'followers', 'user_id', 'follower_id');
}

function follow(User $user) {
   $this->followers()->attach($user->id);
}

function unfollow(User $user) {
   $this->followers()->detach($user->id);
}

获取用户1粉丝:

$user = User::find(1);
$user->followers;

用户1关注用户2

$user1 = User::find(1);
$user2 = User::find(2);
$user1->follow($user2);

用户1取消关注用户2

$user1 = User::find(1);
$user2 = User::find(2);
$user1->unfollow($user2);