Rumah  >  Artikel  >  pembangunan bahagian belakang  >  CakePHP Padamkan Rekod

CakePHP Padamkan Rekod

WBOY
WBOYasal
2024-09-10 17:25:58578semak imbas

Untuk memadamkan rekod dalam pangkalan data, pertama sekali kita perlu mendapatkan jadual menggunakan kelas TableRegistry. Kami boleh mengambil contoh daripada pendaftaran menggunakan kaedah get(). Kaedah get() akan mengambil nama jadual pangkalan data sebagai hujah. Kini, tika baharu ini digunakan untuk mendapatkan rekod tertentu yang ingin kami padamkan.

Panggil kaedah get() dengan tika baharu ini dan lulus kunci utama untuk mencari rekod yang akan disimpan dalam tika lain. Gunakan contoh kelas TableRegistry untuk memanggil kaedah padam untuk memadam rekod daripada pangkalan data.

Contoh

Buat perubahan dalam fail config/routes.php seperti yang ditunjukkan dalam kod berikut.

config/routes.php

<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']);
   $builder->connect('/users/delete', ['controller' => 'Users', 'action' => 'delete']);
   $builder->fallbacks();
});

Buat fail UsersController.php di src/Controller/UsersController.php. Salin kod berikut dalam fail pengawal.

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');
      }
   }
?>

Cukup buat fail Lihat kosong di bawah direktori Pengguna yang dipanggil delete.ctp.

src/Template/Users/delete.ctp

Buat direktori Pengguna di src/Template, abaikan jika sudah dibuat dan di bawah direktori itu buat Viewfail bernama index.ctp . Salin kod berikut dalam fail itu.

src/Template/Users/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>

Laksanakan contoh di atas dengan melawati URL berikut dan klik pada Padam pautan untuk memadam rekod.

http://localhost:85/CakePHP/users

Output

Selepas melawati URL di atas dan mengklik pada pautan Padam, anda akan menerima output berikut di mana anda boleh memadamkan rekod.

Delete Link

Klik pada pautan Padam untuk memadam rekod.

User Deleted

Atas ialah kandungan terperinci CakePHP Padamkan Rekod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:CakePHP Kemas Kini RekodArtikel seterusnya:CakePHP Kemas Kini Rekod