首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试将外键设置为字符串数据类型

问尝试将外键设置为字符串数据类型
EN

Stack Overflow用户
提问于 2016-05-06 05:10:00
回答 2查看 766关注 0票数 0

我是Laravel的新手,我有一个主键字段,它是string,因为我现在正在处理的项目需要下划线(_)。就像这样:0001_0001。因为主键是string,所以我还必须将外键设置为string。所以,我想知道有没有办法把字符串设置为外键。我正在使用mysql database作为数据库。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-12 10:51:22

尝试使用$table->string('user_id')->unique();可以帮助您,如果您希望关系使用id以外的值,您可以将第三个参数传递给指定自定义键的hasOne方法:如下所示:

代码语言:javascript
复制
return $this->hasOne('App\Phone', 'foreign_key', 'local_key');
票数 0
EN

Stack Overflow用户

发布于 2016-05-06 05:25:38

对于int或字符串,声明将相同。

代码语言:javascript
复制
Schema::table('priorities', function($table) {
       $table->foreign('user_id')->references('id')->on('users');
   });

但性能将有所不同,请查看answer获得更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37064658

复制
相关文章

相似问题

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