三个(或四个?)模型之间的雄辩关系

时间:2020-10-09 09:19:52

标签: laravel eloquent eloquent-relationship

由于我有点迷茫,我希望您能提供有关如何正确处理关系问题的信息。我不想使用原始查询(我会立即用这些查询解决这个问题),因为我仍在学习它,所以我想使用雄辩的语言。

目前我有3个模型: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

1 个答案:

答案 0 :(得分:0)

Many To Many是您要寻找的。

Review有很多JobReview,而JobReview有很多Review

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

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