首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel迁移与人/人表名混在一起

Laravel迁移与人/人表名混在一起
EN

Stack Overflow用户
提问于 2021-03-17 08:24:55
回答 1查看 260关注 0票数 0

由于某种原因,拉勒维尔被搞混了,多元化的人/人,一些理由,它假设我的桌子是人。

我知道如何在不手动指定$table->foreignId('person_id')->constrained('persons')中的表名的情况下绕过这个问题,但是我想知道为什么会发生这种情况?以及要避免/小心的表名。

无法创建表person_logs (errno: 150“外键约束格式不正确”) (SQL: alter person_logs添加约束person_logs_person_id_foreign外键(person_id) references people (id))

代码语言:javascript
运行
复制
Schema::create('persons', function (Blueprint $table) {
    $table->id('id');
    
    $table->string('firstname');
    $table->string('lastname');
});

Schema::create('person_logs', function (Blueprint $table) {
    $table->id('id');
    
    $table->string('example');
    
    $table->foreignId('person_id')->constrained();
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-17 08:29:53

作为Str::plural()的一部分,它在person上称为person_id,它的复数版本是people。因此,根据Laravelpersons表的约定,正确的命名实际上是people

因此,将表更改为peopleconstrained(),第一个参数是表名。

代码语言:javascript
运行
复制
$table->foreignId('person_id')->constrained('persons');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66669359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档