【问题标题】:Set an option from a list of options that are valid to use to insert a specific data into database从可用于将特定数据插入数据库的选项列表中设置一个选项
【发布时间】:2018-12-17 05:24:06
【问题描述】:

我正在尝试在 laravel 中进行迁移,并且我有这种情况,即要插入的值可以是列表中的多个值之一,但除此之外没有其他值。例如,我在数据库中有一个名为values 的属性,values 的实际值可以是['one','two','three'],但没有别的。如何使用 Laravel 中的迁移构建器来实现?

【问题讨论】:

  • 作为替代方案,您可以在 Eloquent 模型中使用验证。这样,如果您需要能够向列添加选项,您只需要更新代码而不需要修改数据库。
  • 我一定会这样做的。我只是好奇我是否可以在数据库级别做到这一点。如果你知道我的意思:v
  • J. Doe 下面提到的枚举是数据库端的明确选项,但如果您知道选项永远不会改变或者它会保留一个小表,那通常是最好的选择。如果它是一个包含很多行的表,例如 users 或 orders 表,那么稍后修改它以添加选项不是一个好主意,因为它会在修改时锁定表。

标签: php laravel eloquent laravel-migrations


【解决方案1】:

使用枚举

$table->enum('column', ['one', 'two', 'three']);

【讨论】:

  • 嗯,这很简单。非常感谢:)
  • @AashanGhimire 如果它对你有用,然后接受它作为答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多