我正在构建一个带有laravel的博客应用程序,其功能是使用竖起大拇指图标来表示帖子(只有用户一次)。我已经为User,Post和Like设置了各自的表格模型。 likes表由user_id,post_id和timestamps列组成。我还定义了User和Post模型之间的关系,如下所示: 内部用户模型:
Public function post(){
return $this->hasMany (App\Post)
}
Public function like(){
return $this->hasMany (App\Like)
}
和Post模型内部;
Public function user(){
return $this->belongsTo (App\User)
}
然而,我的挑战在于编写Post和Like模型之间的关系。两个模型之间会存在什么关系?
答案 0 :(得分:0)
我认为你不需要Like模型,因为你可以在User和Post之间创建直接关系,但是使用不同的表名,例如"喜欢"
用户模型:
public function likes()
{
return $this->belongsToMany(Post::class, "likes");
}
发布模型:
public function likes()
{
return $this->belongsToMany(User::class, "likes");
}
有关多对多关系的更多信息:https://laravel.com/docs/5.5/eloquent-relationships#many-to-many