多对多关系不应该三个表吗,怎么就一个 users 表和一个中间表 followers,粉丝表 follower 怎么没有,如果没有怎么进行连接呢?
<?php
namespace App\Models;
.
.
.
class User extends Authenticatable
{
.
.
.
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_id
表示被关注人,follower_id
表示被关注人的粉丝,followers
表作为中间表存储了这个关系,它的两个关联表恰好是同一个表,即user
表。