Iが 'ロール' のテーブルを持っている:Laravelのdelete on cascadeの使い方は?
$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");
Iは、ライン実行すると:で
Role::where('name','someString')->delete();
のみ関連する行Rolesテーブルは削除され、Roles_Usersテーブルの関連する行は削除されません。解決策は何ですか?
この種のものには、私は本当に外部キーを作成し、 "カスケード"を設定することを好みます。パフォーマンスが向上します。たとえば、SQLを使用してレコードを直接削除するか、別のアプリでデータベースにアクセスする必要がある場合、データの整合性は保持されます。 –