【问题标题】:Eloquent relations between three (or four?) models三个(或四个?)模型之间的雄辩关系
【发布时间】:2021-01-24 08:47:52
【问题描述】:

我很感激关于如何正确处理关系问题的意见,因为我有点迷茫。我不想使用原始查询(我会很快解决这个问题),我想使用 eloquent,因为我还在学习它。

我有三个模型(目前):JobJobReviewReview

  • Job 有很多 JobReview
  • JobReview 属于 Job
  • JobReview 有很多 Review
  • Review 属于许多 JobReview (?)

解释一下。我有一张带有Job 的表,可以在其中创建 N 个工作(不限于)。每个Job 只能有一个JobReview,而每个JobReview 可以有N 个ReviewReview 基本上是在对已完成的工作进行评分时需要回答的预设问题。

我已经尝试了一些与 belongsToMany、hasMany、hasOne 的组合,但没有一个能返回我想要的结果。

除此之外,JobReview 在保存Review 响应时还需要存储两个附加字段:ratingcontent。第一个是 1-5 之间的数字,第二个是文本内容。

我是否在这里缺少第四个模型,例如:

  • Job 有一个 JobReview
  • JobReview 属于 Job
  • JobReview 有很多 JobReviewAnswer
  • JobReviewAnswer 属于 JobReview
  • JobReviewAnswer 有一个 Review
  • Review 有很多 JobReviewAnswer

【问题讨论】:

    标签: laravel eloquent eloquent-relationship


    【解决方案1】:

    Many To Many 就是你要找的。​​p>

    Review 有很多 JobReviewJobReview 有很多 Review

    您还必须使用数据透视表解决此问题,因此请仔细阅读文档。

    我无法完全理解您的业务逻辑,因此我无法真正给出具体的答案。我不知道你的Review 是什么,因为你已经得到了JobReview

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 2016-01-11
      • 2019-02-12
      相关资源
      最近更新 更多