这 2 个方法说明意思?哪位大神可以解释下,为什么在一个文件里面写 2 个方法 不是分开吗?
public function followers()
{
return $this->belongsToMany(User::Class, 'followers', 'user_id', 'follower_id');
}
public function followings()
{
return $this->belongsToMany(User::Class, 'followers', 'follower_id', 'user_id');
}
关注人列表和粉丝列表时需要用到 user_id 和 follower_id 字段,user_id关注列表的字段,这个时候user被当成了关注着,明星,获取的是他的粉丝
如果把user当成粉丝,那么就获取他关注的明星,主要是看把user当成什么,然后选择user_id还是follower_id
user当成粉丝就用follow_id,user当成关注者,明星就用user_id
我个人的理解是,其实你建立的 followers 表只是一张关系表,关系的两边都是 User,不知道你理解到我的意思了没。
就是 follower 的两边都是 user。 一个 user 在 follower 表里面声明多个粉,同时作为1个粉关注多个人。
user_id follower_id
1 2 =>1关注2
1 3 =>1关注3
1 4 =>1关注4
1 5 =>1关注5
5 1 =>5同时关注1.
然后无论是 1,2,3,4,5其实都是外键,外键的对应值都是从 users 表里面拿出来的。