[英]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.