Chuyển tới nội dung
Trang chủ » Thêm, Xóa, Sửa dữ liệu trong Magento 2

Thêm, Xóa, Sửa dữ liệu trong Magento 2

Ở các bài trước chúng ta đã tạo được một form để nhập dữ liệu trong admin. Trong bài viết này tôi sẽ hướng dẫn các bạn thêm, sửa, xóa dữ liệu trong Magento 2.

Save, Edit dữ liệu

Ở bài trước chúng ta đã tạo được một form như bên dưới:

Hướng dẫn Thêm, Xóa, Sửa dữ liệu(CRUD) trong Magento 2
Hướng dẫn Thêm, Xóa, Sửa dữ liệu(CRUD) trong Magento 2
  • Tạo Controller dùng để save và edit

Lưu ý ở bài tạo form chúng ta thêm đường dẫn. Khi submit form dữ liệu sẽ được gửi đến controller helloworld/post/save. Các bạn có thể xem lại bài viết tại đây.

ViMagento/HelloWorld/Controller/Adminhtml/Post/Save.php

Magento 2 Hướng dẫn Thêm, Xóa, Sửa dữ liệu(CRUD)
Magento 2 Hướng dẫn Thêm, Xóa, Sửa dữ liệu(CRUD)
Magento 2 Hướng dẫn Thêm, Xóa, Sửa dữ liệu(CRUD)
Magento 2 Hướng dẫn Thêm, Xóa, Sửa dữ liệu(CRUD)

Ở trên tôi dùng $this->getRequest()->getPostValue() để lấy được dữ liệu khi submit gửi lên. Sau đó tôi kiểm tra xem trong dữ liệu gửi lên có id hay không. Nếu có tức là đang edit, nếu không tức là thêm mới. Sau đó dùng model để lưu dữ liệu vào database, thêm câu thông báo sau đó chuyển hướng trang về grid.

Delete dữ liệu

Khi chúng ta tạo grid listing ở bài trước chúng ta đã thêm selectionsColumn và delete action dẫn đến controller helloworld/post/index như hình bên dưới:

Magento 2 Hướng dẫn Thêm, Xóa, Sửa dữ liệu(CRUD)
Magento 2 Hướng dẫn Thêm, Xóa, Sửa dữ liệu(CRUD)

ViMagento/HelloWorld/Controller/Adminhtml/Post/Delete.php

Magento 2 Hướng dẫn Thêm, Xóa, Sửa dữ liệu(CRUD)
Magento 2 Hướng dẫn Thêm, Xóa, Sửa dữ liệu(CRUD)

Sử dụng filter class để lấy được các record mà chúng ta tick chọn để xóa và dùng model để load id lấy được và dùng ->delete() để xóa. Sau đó thì chuyển hướng về trang grid của chúng ta. Ở bài sau tôi sẽ hướng dẫn các bạn tạo column edit trong grid dùng để chuyển đến trang edit.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *