【问题标题】:which version of laravel Polymorphic Relations to use?使用哪个版本的 laravel 多态关系?
【发布时间】:2016-06-16 15:22:47
【问题描述】:

我需要您的帮助,简而言之(视频、帖子、用户)我想使用这三个模型来执行以下操作:

让用户(收藏或评论)任一(视频或帖子) 什么适合这种情况(普通多态或多对多多态

请有任何建议

【问题讨论】:

    标签: laravel eloquent polymorphism


    【解决方案1】:

    您可以对两者都使用普通的多态。

    这里的想法是用户可以收藏PostVideo - 但是,这些收藏的操作 是各自的PostVideo 所独有的。您不能在一个操作中收藏两个单独的对象 - 会有两个唯一的收藏夹(一个用于第一个对象,一个用于第二个对象)。

    这同样适用于 cmets。您可以评论多个对象,但每个评论对于该对象来说都是唯一的。

    多对多多态关系的用例最容易用标记对象的概念来解释。

    您可以Tag 一个带有“PHP”之类的对象 - 您也可以Tag 另一个带有“PHP”的对象。因此,Tag 具有多对多关系,可以标记到多个单独的模型。这就是使其具有多态性的原因。

    所以,因为 FavoriteComment 只与一个对象的一个​​实例相关联——那么这是一种正常的多态关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 2020-07-31
      • 2019-01-22
      • 2017-07-01
      相关资源
      最近更新 更多