2016-03-16 37 views
0

在我使用Laravel/Mysql構建的應用程序中,我有兩個用戶表。MySQL Laravel使外鍵獨特

當我用戶註冊表「用戶」和「用戶信息」被創建。

的UserInfoFK指向PK用戶表。

現在,我已經在我的的UserInfo表中的列被設置爲獨特我這樣做是爲了確保用戶只能有一個記錄在用戶信息表。

但是有可能讓FK獨一無二嗎?我需要在表格之間進行一對一的設計。

+0

你爲什麼不只是使FK uniqe然後,使用: $ table-> integer('user_id') - > unsigned() - > unique(); – Hardist

回答

0

您可以使整數本身是唯一的。外國法僅用於表A和表B.

$table->integer('user_id')->unsigned()->unique(); 
$table->foreign('user_id')->references('id')->on('user_infos'); 

你可能尋找的東西之間的DATAS鏈接爲口才:關係和必須添加到您的模型。

您可以添加此爲您的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