【发布时间】:2021-03-20 23:29:46
【问题描述】:
我正在使用 Laravel 编写数据库迁移,我想知道是否可以根据另一列的值将一列设置为不可为空。
例如:
If User.owns_cat === true
Then User.cat_name->nullable(false)
我知道我可以稍后通过验证规则来处理这个问题,但希望在数据库级别拥有这个规则。
【问题讨论】:
-
该列的某一行中的内容无关紧要,整列将是
nullable或不是nullable。稍后您将不得不使用 DB 触发器(或类似的东西)或通过 Laravel 的requried_with验证来处理。 -
啊,触发器。这可能就是我正在寻找的。谢谢!
-
没问题!我认为这就是你要找的东西,但我不能说我曾经不得不在数据库级别强制这个条件。如果您碰巧找到了解决方案,请随时发布自我回答,或在遇到任何其他问题时更新您的问题。干杯!
-
@TimLewis 触发器和 Eloquent 事件一样吗?
-
@TimLewis 啊,好的...谢谢。
标签: database laravel laravel-migrations