Đọc, thêm, sửa, xóa trong Cakephp 4

Chức năng đọc, thêm, sửa, xóa (CRUD) trong Cakephp 4 rất cần thiết khi quản trị. Nhờ đó mà Admin có thể thêm hay thay đổi bất kỳ dữ liệu nào trên Database mà không cần vào Phpadmin. Vậy để tạo những chức năng này thì sẽ phải làm những gì? Hãy đọc bài này ngay sau đây.

Trước khi thực hành bạn cần tham khảo 2 bài viết đó là:

Chức năng thêm dữ liệu

Bước 1: Tạo tập tin ArticlesTable.php xem lại bài ở trên

Bước 2: Tạo tập tin ArticlesController.php trong Controller

public function add()
    {
        $data = $this->Articles->newEmptyEntity();

        if ($this->request->is('post')) {
            
            $data = $this->Articles->patchEntity($data, $this->request->getData());

            if ($this->Articles->save($data)) {
                $this->Flash->success(__('Dữ liệu đã được lưu vào Database.'));
                return $this->redirect(['action' => 'add']);
            }
            $this->Flash->error(__('Không thể thêm dữ liệu.'));
        }
        $this->set('data', $data);
    }

Bước 3: Tạo file add.php trong template

<?php
    echo $this->Form->create($data);
    echo $this->Form->input('username').'<br/>';
    echo $this->Form->input('password').'<br/>';
    echo $this->Form->button(__('Save'));
    echo $this->Form->end();
?>

Bước 4: Tạo route trong route.php

$routes->connect('/add', ['controller' => 'Articles', 'action' => 'add']);

Cuối cùng truy cập vào http://localhost/cakephp/add để thêm Data.

Chức năng hiển thị data

Bước 1: Thêm function trong Controller

public function read()
    {
        $data = $this->Articles->find('all');
        $this->set(compact('data'));
    }

Bước 2: Thêm tập tin read.php trong templates

<table>
<?php
      foreach ($data as $row):
      echo "<tr><td>".$row['id']."</td>";
      echo "<td>".$row['username']."</td>";
      echo "<td>".$row['password']."</td>";
      echo "<td><a href='".$this->Url->build(["controller" => "Articles","action" => "edit",$row->id])."'>Edit</a></td>";
      echo "<td><a href='".$this->Url->build(["controller" => "Articles","action" => "delete",$row->id])."'>Delete</a></td></tr>";
      endforeach;
   ?>
</table>

Bước 3: Thêm route

$routes->connect('/read', ['controller' => 'Articles', 'action' => 'read']);

Chức năng xóa

public function delete($id){
         $data = TableRegistry::get('Articles');
         $users = $data->get($id);
         $data->delete($users);
         echo "Xóa thành công!";
         $this->setAction('read');
    }

Thêm route

$routes->connect('/delete/{$id}', ['controller' => 'Articles', 'action' => 'delete']);

Đang cập nhật thêm…

Dữ liệu trong cơ sở dữ liệu sau khi có CRUD thì sẽ rất tiện lợi. Quản trị viên sẽ dễ dàng quản lý thông tin và sửa xóa nhanh chóng. Với bài viết này bạn sẽ từng bước nắm vững kiến thức về Cakephp 4 rồi đấy.

Related Posts

Cấu trúc dữ liệu và giải thuật: Một cái nhìn tổng quan

Giới thiệu Trong lĩnh vực phát triển phần mềm, cấu trúc dữ liệu và giải thuật là hai khái niệm quan trọng không thể thiếu. Cấu trúc…

Next.js – Khám phá Framework JavaScript tuyệt vời cho phát triển ứng dụng web

Giới thiệu về Next.js Next.js là một framework JavaScript mã nguồn mở và phổ biến được sử dụng để xây dựng các ứng dụng web hiệu suất…

Lisp – Cái nhìn tổng quan về ngôn ngữ lập trình đặc biệt

Lisp là gì? Lisp là một ngôn ngữ lập trình đặc biệt mang đến một cách tiếp cận độc đáo trong việc xử lý thông tin và…

Cách sử dụng đường dẫn tương đối trong HTML

Cách sử dụng đường dẫn tương đối trong HTML

Trang web hiện đại thường bao gồm nhiều tài nguyên như hình ảnh, trang HTML khác, tệp tin CSS và JavaScript. Để liên kết và truy cập…

Bài tập về hàm split trong Python

Chuỗi là một loại dữ liệu phổ biến trong lập trình, và việc xử lý chuỗi là một kỹ năng cần thiết cho các lập trình viên….

Xử lý chuỗi trong Python: Các phương thức cơ bản

Python là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay. Nó được sử dụng rộng rãi trong nhiều lĩnh vực, từ phát triển…