是否有Laravel具有透視表的id列(多對多的關係)(我使用5.1版本)的任何好處?向Laravel中的數據透視表添加id列的好處?
一個ID
$table->increments('id');
$table->integer('appointment_id')->unsigned();
$table->foreign('appointment_id')->references('id')->on('appointments')->onDelete('cascade');
$table->integer('client_id')->unsigned();
$table->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
$table->timestamps();
沒有ID
$table->integer('appointment_id')->unsigned();
$table->foreign('appointment_id')->references('id')->on('appointments')->onDelete('cascade');
$table->integer('client_id')->unsigned();
$table->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
$table->timestamps();
是否'$對象 - >刪除()'工作,如果你沒有一個主鍵? (我覺得一個是'increments'自動創建的,但我的經驗主要是Laravel 4 ...) –
是的,我的作品,它刪除了一切,父行和關係,在我的樞軸表,但我使用級聯刪除。 – user3489502
這將是同在一個標準的數據透視表具有自動遞增'id'列:它不會傷害有一個,但他們最終多餘的,因爲你是(最有可能)永遠不會是直接查詢數據透視表。例子'SELECT * FROM pivot_table WHERE id = 5;'除非你知道你特別想要那一行,否則沒有意義。 –