我正在嘗試使用外鍵創建'參賽隊'表,但如何將外鍵設置爲可空?在這種情況下可能有一個可爲空的外鍵嗎?
Schema::create('teams', function (Blueprint $table) {
$table->increments('id');
$table->string('name')->unique();
$table->string('place');
$table->string('competition')->nullable()->default(null);
$table->foreign('competition')->references('name')->on('competitions')->onDelete('set null');
$table->timestamps();
});
Schema::create('competitions', function (Blueprint $table) {
$table->increments('id');
$table->string('name')->unique();
$table->timestamps();
});
外鍵需要unqiue價值觀,否則你怎麼知道這是which.You需要一個多對多的關係 - 一個團隊可以進入很多比賽,比賽主辦CA很多球隊 - 創建一箇中間表競爭隊伍與外鍵到這兩個表。 – Mihai