Laravel バルク削除(一括削除)の実装方法【効率化】
Laravelでの一括削除機能の実装は、以下の手順で行うことができます:
- IDリストを削除するためのフォームを作成してください。例:
<form action="{{ route('items.delete') }}" method="post">
@csrf
@method('DELETE')
@foreach($ids as $id)
<input type="hidden" name="ids[]" value="{{ $id }}">
@endforeach
<button type="submit">删除选中项</button>
</form>
- ルーティング内で、一括削除操作を処理するためのPOSTリクエストを定義します。例えば:
Route::delete('/items/delete', 'ItemController@batchDelete')->name('items.delete');
- 例えば、コントローラーで対応するメソッドを実装して、一括削除操作を処理する。
public function batchDelete(Request $request)
{
$ids = $request->input('ids');
Item::whereIn('id', $ids)->delete();
return redirect()->back()->with('success', '批量删除成功!');
}
Laravelで一括削除機能を実装することができます。対応するモデルにSoftDeletesトレイトがあることを確認し、ソフト削除機能を実装してください。