【问题标题】:How do I define relationships between User, Post and Like models如何定义 User、Post 和 Like 模型之间的关系
【发布时间】:2018-07-11 19:09:17
【问题描述】:

我正在使用 laravel 构建一个博客应用程序,该应用程序具有点赞帖子(用户仅一次)的功能,并带有竖起大拇指图标。我已经为 User、Post 和 Like 各自的表格建立了一个模型。 likes 表由 user_id、post_id 和时间戳列组成。我还定义了 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 模型之间的关系。两种模型之间将存在什么关系?

【问题讨论】:

  • 您的点赞表是数据透视表吗?

标签: php laravel-5 vue.js phpmyadmin


【解决方案1】:

我认为您不需要 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2020-11-08
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    相关资源
    最近更新 更多