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.
Buat perubahan dalam fail config/routes.php seperti yang ditunjukkan dalam kod berikut.
<?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.
<?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.
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.
<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
Selepas melawati URL di atas dan mengklik pada pautan Padam, anda akan menerima output berikut di mana anda boleh memadamkan rekod.
Klik pada pautan Padam untuk memadam rekod.
Atas ialah kandungan terperinci CakePHP Padamkan Rekod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!