我有一個 '角色' 表:如何在Laravel中使用級聯刪除?
$table->increments('id');
$table->string('name')->unique();
$table->text('description')->nullable();
和 'Roles_Users' 表:
$table->increments('id');
$table->integer('role_id')->unsigned()->index()->foreign()->references("id")->on("roles")->onDelete("cascade");
$table->integer('user_id')->unsigned()->index()->foreign()->references("id")->on("users")->onDelete("cascade");
當我跑這麼一行:
Role::where('name','someString')->delete();
只有相關的行Roles表將被刪除,而Roles_Users表中的相關行則不會被刪除。解決辦法是什麼?
對於這種事情,我更喜歡創建外鍵並設置「Cascade」。例如,如果您需要直接通過SQL刪除記錄或在其他應用程序中訪問數據庫,則數據將保持其完整性。 –