我有一个User
模型和一个likes
表。我对它应用了多态关系。
likes
表具有以下结构:
user_id --- likeable_id ---- likeable_type
eg: 1 ---- 5 ---- App\User //This indicates user 1 follows 5
eg: 3 ---- 1 ---- App\User //This indicates user 3 follows 1
现在我正在尝试获取关注者和关注列表。
在我添加的User
模型中
public function likes()
{
return $this->morphMany(Like::class, 'likeable');
}
public function followers()
{
return $this->belongsTo('App\Like', 'likeable_id', 'user_id');
}
从控制器,我试图这样做:
$user1 = User::with('followers')->where('username', $username)->first();
但它正在为null
关系返回followers
。我做得对吗?
答案 0 :(得分:0)
自己得到答案:在User
模型 -
public function followers()
{
return $this->morphMany('App\Like', 'likeable')->with('user');
}
public function following()
{
return $this->morphMany('App\Like', 'user', 'likeable_type')->with('user');
}