php-使用Laravel迁移添加外键约束
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-使用Laravel迁移添加外键约束,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1354字,纯文字阅读大概需要2分钟。
内容图文
我已经启动了一个新的Laravel 5.5项目,并且在尝试向我的用户表添加外键时收到以下错误:
General error: 1215 Cannot add foreign key constraint (SQL: alter table
users
add constraintusers_organization_id_foreign
foreign key (organization_id
) referencesorganizations
(id
) on delete cascade)
这是组织表的迁移代码:
Schema::create('organizations', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('subdomain')->nullable();
$table->timestamps();
$table->softDeletes();
});
这是users表的迁移代码:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->integer('organization_id')->unsigned();
$table->foreign('organization_id')->references('id')->on('organizations');
$table->string('first_name');
$table->string('last_name');
$table->string('email')->unique();
$table->timestamps();
$table->softDeletes();
});
我已经在线研究了此错误,并且需要确保的共同点是数据类型相同.从我看,它们是相同的.甚至更疯狂的是,如果我直接在数据库中运行此查询,它将起作用:
alter table `users` add constraint `users_organization_id_foreign` foreign key (`organization_id`) references `organizations` (`id`)
解决方法:
默认情况下,首先在每个Laravel中创建新安装用户表.但是,由于要在此表中添加约束,因此需要首先创建组织表.
因此,通过在文件名中更改组织迁移日期,将组织表迁移放在用户表迁移之前:
2014_01_01_000000_create_organizations_table.php
内容总结
以上是互联网集市为您收集整理的php-使用Laravel迁移添加外键约束全部内容,希望文章能够帮你解决php-使用Laravel迁移添加外键约束所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。