【发布时间】:2020-03-31 01:59:20
【问题描述】:
我已经使用 laravel eloquent 很长时间了。当我使用 eloquent 关系时,每一秒都会有一个或多个令人困惑的点来确定我必须使用哪种关系(OneToOne、OneToMany、ManyToMany 及其逆...)
据我了解,在 laravel 中有 OneToMany Polymorphic 关系,在其文档中,实现有明确的方向。 Video 和 Post 有很多 Comment。所以,Comment 变形为 Video 或 Post 和 Video 或 Post 变形(到)许多 Comments。我明白了。这是Various type of "one" object有One type of "many" object的情况。
让我们假设一个.. Chapter 有很多 Sections 和 Columns。据我了解,这是相反的情况。这个是One type of "one" object有Various type of "many" object。
所以,在这一点上,我无法决定我必须做什么。你能为我解释一下你是如何解决这个令人困惑的问题的吗? Laravel Relation 不能解释完整的情况吗?
问题更新 .1
我有两个名为 Collection 和 Problem 的表。
从关系的角度来看,Collection 有其子 Collection 和 Problem。
例如,CollectionA 有其子 Problem1、CollectionB、Problem2、Problem3 和 CollectionC。这五个孩子有它写的顺序。
由于孩子们在两个不同的班级中都有秩序,我认为我不能将它们分离为单独的 hasMany 关系..
** 为了解决这个问题,我一直在使用下面的思路。
Collection 有很多CollectionItem。
CollectionItemmorphTo Collection|Problem.
这个工作在这个特定点找到,但我不能确定这是找到实践..
【问题讨论】:
-
本质上,您的收藏有
parent和child收藏。任何收藏都有自己的problems。不?在这种情况下,您可能需要阅读同一模型上的父子关系。