Hướng dẫn dùng delete laravel trong PHP

  • Trang chủ
  • Hướng dẫn học
  • Laravel
  • Delete database

Delete database

  • Bài học này sẽ giúp các bạn tiến hành xóa một dữ liệu không mong muốn.
  • Kết quả bài trước ta có trang hiển thị bảng dữ liệu sau //localhost:82/admin/news:

{{$row->title}} {{$row->email}} Edit
@method['DELETE'] @csrf Delete @endforeach

  • /admin/news/delete/{{$row->id}}: khi nhấn submit, dữ liệu sẽ được gửi tới /admin/news/delete với id tương ứng.
  • onsubmit="return ConfirmDelete[ this ]": khai báo javascript trả về hàm ConfirmDelete để xuất thông báo thành công hoặc lỗi.
  • @method['DELETE']: gọi form với phương thức delete.
  • @csrf: tạo một chuỗi CSRF ngẫu nhiên, thuộc tính cần được sử dụng thường cho form.

Chạy lại đường dẫn //localhost:82/admin/news trên trình duyệt, ta sẽ nhận được kết quả sau:

Thực hiện xóa dữ liệu

Thêm nội dung Controller

Thêm nội dung cho function show[$id] của Controller AdminNewsController để gọi trang view xem danh sách:

/**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy[$id]
    {
        $news = News::find[$id];

        $news->delete[];
        return redirect[]->action['Admin\[email protected]']->with['success','Dữ liệu xóa thành công.'];
    }

  • $news = News::find[$id];: chọn dữ liệu đúng với điều kiện id bằng với id nhận được từ form.
  • $news->delete[];: tiến hành xóa dữ liệu với id tương ứng.
  • return redirect[]->action['Admin\[email protected]']->with['success','Dữ liệu xóa thành công.'];: sau khi xóa dữ liệu xong, sẽ gọi Controller index, với dòng thông báo thành công.

Thêm nội dung Route

Ta thêm vào Route /routes/web.php nội dung sau:

Route::DELETE['/admin/news/delete/{id}', 'Admin\AdminNewsController@destroy'];

  • DELETE: sử dụng phương thức DELETE để điều hướng dữ liệu xóa.
  • /admin/news/delete/{id}: đường dẫn tới delete với id được xác định.
  • Admin\AdminNewsController: thư mục Admin chứa Controller AdminNewsController.
  • destroy: đây là function destroy[$id] trong Controller AdminNewsController.

Thực hiện xóa dữ liệu

Mở trang //localhost:82/admin/news lên trình duyệt, click vào button Delete bất kỳ [VD: button có ID 4] ta sẽ xem được kết quả sau:

Ta thấy mục có ID là 4 đã được xóa.

Bài Viết Liên Quan

Chủ Đề