我是Laravel的新手,我有一个主键字段,它是string,因为我现在正在处理的项目需要下划线(_)。就像这样:0001_0001。因为主键是string,所以我还必须将外键设置为string。所以,我想知道有没有办法把字符串设置为外键。我正在使用mysql database作为数据库。
发布于 2016-05-12 10:51:22
尝试使用$table->string('user_id')->unique();可以帮助您,如果您希望关系使用id以外的值,您可以将第三个参数传递给指定自定义键的hasOne方法:如下所示:
return $this->hasOne('App\Phone', 'foreign_key', 'local_key');发布于 2016-05-06 05:25:38
对于int或字符串,声明将相同。
Schema::table('priorities', function($table) {
$table->foreign('user_id')->references('id')->on('users');
});但性能将有所不同,请查看answer获得更多信息。
https://stackoverflow.com/questions/37064658
复制相似问题