Thứ Sáu, 19 tháng 10, 2018

CakePHP - Xóa bản ghi

Học lập trình PHP, để xóa một bản ghi trong cơ sở dữ liệu, trước tiên chúng ta cần phải giữ một bảng bằng cách sử dụng lớp TableRegistry . Chúng ta có thể lấy ví dụ ra khỏi registry bằng phương thức get () . Phương thức get () sẽ lấy tên của bảng cơ sở dữ liệu làm đối số. Bây giờ, cá thể mới này được sử dụng để có được bản ghi cụ thể mà chúng tôi muốn xóa.

Gọi phương thức get () với cá thể mới này và chuyển khóa chính để tìm một bản ghi sẽ được lưu trong một cá thể khác. Sử dụng ví dụ lớp TableRegistry để gọi delete phương pháp để xóa bản ghi từ cơ sở dữ liệu Học lập trình PHP.

Thí dụ

Thực hiện các thay đổi trong tệp config / routes.php như trong đoạn mã sau.

config / routes.php
<?php
   use Cake\Core\Plugin;
   use Cake\Routing\RouteBuilder;
   use Cake\Routing\Router;

   Router::defaultRouteClass('DashedRoute');
   Router::scope('/', function (RouteBuilder $routes) {
      $routes->connect('/users/delete', ['controller' => 'Users', 'action' => 'delete']);
      $routes->fallbacks('DashedRoute');
   });
   Plugin::routes();

Học lập trình PHP Tạo một tệp UsersController.php tại src / Controller / UsersController.php . Sao chép mã sau trong tệp bộ điều khiển.

src / controller / UsersController.php
<?php
   namespace App\Controller;
   use App\Controller\AppController;
   use Cake\ORM\TableRegistry;
   use Cake\Datasource\ConnectionManager;
   
   class UsersController extends AppController{
      public function index(){
         $users = TableRegistry::get('users');
         $query = $users->find();
         $this->set('results',$query);
      }
      public function delete($id){
         $users_table = TableRegistry::get('users');
         $users = $users_table->get($id);
         $users_table->delete($users);
         echo "User deleted successfully.";
         $this->setAction('index');
      }
   }
?>
Chỉ cần tạo một tệp Xem trống trong thư mục Người dùng có tên là delete.ctp .

src / Mẫu / Người dùng / delete.ctp

Tạo một thư mục Người dùng tại src / Template , bỏ qua nếu đã được tạo và dưới thư mục đó tạo một tệp Xem có tên là index.ctp . Sao chép mã sau vào tệp đó.

src / Mẫu / Người dùng / index.ctp
<a href = "add">Add User</a>
<table>
   <tr>
      <td>ID</td>
      <td>Username</td>
      <td>Password</td>
      <td>Edit</td>
      <td>Delete</td>
   </tr>

   <?php
      foreach ($results 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" => "Users","action" => "edit",$row->id])."'>Edit</a></td>";
         
         echo "<td><a href='".$this->Url->build
         (["controller" => "Users","action" -> "delete",$row->id])."'>Delete</a></td></tr>";
      endforeach;
   ?>
</table>
Thực hiện ví dụ trên bằng cách truy cập URL sau và nhấp vào Xóa liên kết để xóa bản ghi.

http: // localhost: 85 / PHP / người dùng

Đầu ra

Sau khi truy cập URL ở trên và nhấp vào liên kết Xóa, bạn sẽ nhận được kết quả sau đây, nơi bạn có thể xóa bản ghi.

lập trình PHP cơ bản
lập trình PHP cơ bản 

Không có nhận xét nào:

Đăng nhận xét

lập trình PHP cho các nhà phát triển PERL

Chương này sẽ liệt kê những điểm tương đồng và khác biệt chính giữa PHP và PERL. Điều này sẽ giúp các nhà phát triển PERL hiểu PHP rất nhanh...