使用哪个版本的 laravel 多态关系?
which version of laravel Polymorphic Relations to use?
我需要你的帮助,简而言之(视频,Post,用户)我想使用这三个模型来执行以下操作:
在(视频或post)上让用户(收藏或评论)
什么适合这种情况(普通多态或多对多多态)
有什么建议吗
您可以对两者使用普通的多态。
这里的想法是,用户可以收藏 Post
或 Video
-- 然而,那些收藏的 操作 对各自的 Post
或 Video
。您不能在一次操作中收藏两个单独的 object - 会有两个独特的收藏夹(一个用于第一个 object,一个用于第二个 object)。
评论也是如此。您可以对多个 object 发表评论,但每个评论对于 object.
都是唯一的
对于 many-to-many 多态关系的 use-case 最容易用 标记 和 object.
的概念来解释
你可以 Tag
一个 object 和 "PHP" - 你也可以 Tag
另一个 object 和 "PHP"。因此,Tag
具有 many-to-many 关系,可以标记为多个单独的模型。这就是使它具有多态性的原因。
所以,因为 Favorite
和 Comment
只绑定到 object 的一个实例——那么这是一种正常的多态关系。
我需要你的帮助,简而言之(视频,Post,用户)我想使用这三个模型来执行以下操作:
在(视频或post)上让用户(收藏或评论) 什么适合这种情况(普通多态或多对多多态)
有什么建议吗
您可以对两者使用普通的多态。
这里的想法是,用户可以收藏 Post
或 Video
-- 然而,那些收藏的 操作 对各自的 Post
或 Video
。您不能在一次操作中收藏两个单独的 object - 会有两个独特的收藏夹(一个用于第一个 object,一个用于第二个 object)。
评论也是如此。您可以对多个 object 发表评论,但每个评论对于 object.
都是唯一的对于 many-to-many 多态关系的 use-case 最容易用 标记 和 object.
的概念来解释你可以 Tag
一个 object 和 "PHP" - 你也可以 Tag
另一个 object 和 "PHP"。因此,Tag
具有 many-to-many 关系,可以标记为多个单独的模型。这就是使它具有多态性的原因。
所以,因为 Favorite
和 Comment
只绑定到 object 的一个实例——那么这是一种正常的多态关系。