繁体   English   中英

如何定义用户,帖子和喜欢模型之间的关系

[英]How do I define relationships between User, Post and Like models

我正在使用laravel构建博客应用程序,其功能类似于带有竖起大拇指图标的帖子(仅由用户发布一次)。 我已经为User,Post和Like建立了各自的表。 点赞表由user_id,post_id和timestamps列组成。 我还定义了User和Post模型之间的关系,如下所示:内部User模型:

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模型之间的关系。 两种模型之间将存在什么关系?

我认为您不需要Like模型,因为您可以在User和Post之间创建直接关系,但是可以使用不同的表名,例如“ likes”。

用户模型:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM