【问题标题】:Creating generic comment model in Laravel 5在 Laravel 5 中创建通用评论模型
【发布时间】:2015-09-29 02:21:17
【问题描述】:

我有一个 cmets 表,它可以用于项目的许多部分,例如,不仅在照片中。有没有办法实现一个通用的评论模型/表,可以处理应该在哪里显示评论?

这是个好主意还是我应该为网站的每个区域分开 cmets?比如cmets_photoscmets_songscomments_videos等等?

谢谢。

【问题讨论】:

  • 这正是你要找的laravel.com/docs/5.0/…
  • @pinkalvansia 我阅读了我的问题的答案并开始考虑它。也许在一张桌子上存储很多 cmets 并不是最好的主意。还是谢谢!

标签: php database laravel model laravel-5


【解决方案1】:

简而言之,您可以使用多态关系创建@pinkal vansia 提到的通用 cmets。

但以我的拙见,我不会将所有 cmets 存储在一个表中。原因之一是性能。如果您将有很多 cmets,其中每一行都有自己的类型。这样的表会导致更大的表大小,并且需要额外的索引才能正常运行。

您还应该记住,Laravel 的 ORM 并不总是能满足需求。然后你必须编写手动 SQL,这将更加复杂。

我反对它的主要原因是,只有几个极端情况,您需要使用系统中的所有 cmets 而不是单一类型。因此,每次对评论进行操作时,您都需要检查评论的正确类型。所以在我看来,它没有充分的理由违反了 KISS 原则。

【讨论】:

  • 我明白你的观点@insanebits。那么我会保持KISS原则。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2020-01-31
  • 1970-01-01
  • 2020-02-01
  • 2018-12-03
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 2016-07-06
相关资源
最近更新 更多