Laravel 5.2中标记系统的数据库关系

时间:2016-06-17 20:27:34

标签: php database laravel laravel-5 laravel-5.2

问题

我正在构建一个应用程序,用户可以标记许多内容。让我们举一些用户可以标记的示例:

  • 另一位用户
  • 图片
  • 评论
  • 标签

所以我想要一个标记表来处理标记所有这些事情,但是凭借我的愿景并坚持Laravel的约定,所以我可以利用关系方法,我必须为{{1表...

我的“解决方案”

flags

现在,这种标记系统根本不可扩展!如果我希望能够在将来标记内容,我必须添加一个列并映射它等。

我不喜欢这种混乱的解决方案,我想不出另一种Laravel-y方式来做到这一点!

我需要找出一种可扩展的方法来处理带有一个表的标志,用于Laravel 5.2方式中的多个事物。

1 个答案:

答案 0 :(得分:2)

你应该看一下多态关系:https://laravel.com/docs/master/eloquent-relationships#many-to-many-polymorphic-relations

您为position创建了一个表,并为media创建了一个表。 Flaggable包含flagsflaggableidflag_id列。然后一个条目可能是

flaggable_type

相关问题