【问题标题】:Laravel and SQL good practices for typesLaravel 和 SQL 类型的良好实践
【发布时间】:2019-01-18 18:18:49
【问题描述】:

我有一张带有"types" 的表格,如下所示:

Common, Rare, Mythic, New

还有一个"item" 表,其类型为外键。事实上,Common 对除 New 之外的所有类型都是通用的。而不是做一个 0..n 关系,我想把除了“新”之外的所有列上的共同点

是否可以通过 Laravel Eloquent 进行尝试,或者这样尝试只是一种不好的做法?

谢谢!

【问题讨论】:

  • 当然,您可以使用string 或enum 列。
  • 感谢您的回答,您能给我举个小例子吗?我不知道该怎么做!
  • 这只是桌子上的一列。 laravel.com/docs/5.7/migrations

标签: mysql sql database laravel eloquent


【解决方案1】:

关于 ENUM 的使用应考虑以下几点:

ENUM 在以下情况下效果最佳

  • 您所代表的类型仅在表中是本地的
  • 它必须代表一个永不改变的类型
  • 它永远不会经历重新定义
  • 它的基数需要很低
  • 它的可移植性必须始终基于表的逻辑转储,而不是物理转储。

何时不使用 ENUM

  • 当 ENUM 类型不固定时
  • 当 ENUM 类型的值列表很长时
  • 当您的应用程序不知道 ENUM 值列表时
  • ENUM 类型不可重用
  • 可移植性是一个问题

希望以上几点对您有所帮助。

【讨论】:

    猜你喜欢
    • 2019-01-18
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    相关资源
    最近更新 更多