在我使用Laravel / Mysql构建的应用程序中,我有两个用户表。
当我用户注册表格时,用户"和" UserInfo "得到了。
UserInfo 的 FK 指向用户表中的 PK 。
现在我的 UserInfo 表中有一列设置为 unique 我这样做是为了确保用户只能在UserInfo表中有一条记录。
但是有可能让FK独一无二吗?我需要在表格之间进行一对一的设计。
答案 0 :(得分:1)
您可以使整数本身唯一。 foreign方法仅用于链接表A和表B之间的数据。
$table->integer('user_id')->unsigned()->unique();
$table->foreign('user_id')->references('id')->on('user_infos');
您可能正在寻找的是Eloquent:关系,必须添加到您的模型中。
您可以为UserInfo模型添加此内容:
public function user()
{
return $this->belongsTo(UserInfo::class);
}
这适用于您的用户模型:
public function user_info()
{
return $this->hasOne(User::class);
}
更多信息: https://laravel.com/docs/5.2/eloquent-relationships#defining-relationships