php - 如何使用带默认值的foreignId-constrained?
问题描述
刚才我从视频教程中注意到 Laravel 有这个foreignId
- constrained
. 所以我尝试将我的代码从method.1更改为method.2,表已迁移但是当我尝试时db:seed
,默认值不起作用(它在下面返回错误)。
(方法一)
$table->unsignedBigInteger('status_id')->default(1);
$table->foreign('status_id')
->references('id')
->on('user_statuses');
(方法2)
$table->foreignId('status_id')->constrained('user_statuses')->default(1);
(使用method.2返回的错误)
SQLSTATE[HY000]:一般错误:1364 字段“status_id”没有默认值(SQL:插入
users
(username
、password
)值(管理员、$2y$10$S ZUIglBQG/HhS/18zn41GOcH8f.hZaNewmyoGJBfDQchfC6OWdx26))
解决方案
根据文档,您以错误的顺序调用方法:
必须在
constrained
方法之前调用任何其他列修饰符
$table->foreignId('status_id')->default(1)->constrained('user_statuses');
推荐阅读
- java - maven 仍然列出排除的依赖项
- rust - Rust Book 12.3 - 未解决的导入错误 [E4032]
- javascript - JavaScript 承诺无法解决
- excel - Excel - VBA - 加载项 - 工作表
- java - 如何使用坐标移动数组中的符号?
- intellij-idea - Intellij 插件 - 我可以读取 maven pom 文件吗?
- c# - WCF 与 MSMQ 测试
- python-3.x - 在 KubernetesPods 上设置 HTTP 请求设置
- python-3.x - 曲线拟合多个 x 变量
- javascript - ES6检查深层嵌套动态对象中的属性值