簡體   English   中英

Laravel MYSQL 外鍵

[英]Laravel MYSQL Foriegn Key

在使用 MYSQL 為 Laravel 軟件設計數據庫時,是分配相關的外鍵還是 Laravel 負責“軟件方面”。

在遷移中,我們有類似的東西

表示例:

$table->unsignedBigInteger('user_id');

我應該修改 phpmyadmin 中的示例表並使 user_id 成為外鍵嗎? 有沒有更好的方法,或者這不相關或沒有必要?

您應該在遷移中定義外鍵約束。 使用代碼庫時,您應該使用遷移進行所有更改。

此外,通過定義外鍵,您實際上可以在 2 個表之間建立關系,否則這種關系將處於代碼級別。 建立關系時,數據庫將限制為只有實際存在於主表中的值。 使用外鍵,您還可以在數據庫級別進行級聯(更新和刪除)

參考定義外鍵有什么好處

為什么要在數據庫中使用外鍵?

如果使用 Laravel 7,您可以使用這個簡短的列名 user_id 外部到表 users 中的 ID user :

$table->foreignId('user_id')->nullable()->constrained()->onDelete('cascade');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM