Pada asasnya, CakePHP ialah rangka kerja yang digunakan untuk melaksanakan pemadaman digunakan untuk memadam rekod daripada pangkalan data yang dikenal pasti oleh $id. Biasanya arahan padam bergantung pada rekod yang bermaksud kita boleh mengatakan bahawa hubungan pengguna adalah satu-dengan-banyak atau kita boleh mempunyai milik. Kami tahu bahawa PHP ialah bahasa sebelah pelayan skrip untuk membuat interaksi dinamik antara halaman web yang berbeza. Dalam erti kata lain, kita boleh mengatakan bahawa kita boleh memadamkan rekod daripada pangkalan data MySQL dengan bantuan rangka kerja CakePHP mengikut keperluan kita serta ia mudah untuk dilaksanakan.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Untuk memadamkan rekod dalam set data, kita perlu mendapatkan jadual menggunakan kelas Daftar Jadual terlebih dahulu. Kami boleh membawa acara keluar dari perpustakaan menggunakan teknik get(). Teknik get() akan mengambil nama jadual set data sebagai perbalahan. Pada masa ini, contoh baharu ini digunakan untuk mendapatkan rekod khusus yang perlu kami padamkan.
Panggil strategi get() dengan kejadian baharu ini dan lulus kunci penting untuk memerhati rekod yang akan disimpan dalam kes lain. Gunakan contoh kelas Table Registry untuk memanggil teknik pemadaman untuk memadam rekod daripada pangkalan maklumat.
Peraturan pemadaman akan digunakan. Dengan mengandaikan piawaian jatuh rata, pemadaman akan dihalang.
Model.sebelum padam acara dimatikan. Dengan mengandaikan bahawa acara ini dihentikan, pemadaman akan dipendekkan dan keputusan acara itu akan dikembalikan.
Elemen akan dipadamkan.
Semua gabungan yang bergantung akan dipadamkan. Sekiranya gabungan dipadamkan sebagai bahan, acara tambahan akan dihantar.
Sebarang rekod jadual persimpangan untuk Kepunyaan Ramai gabungan akan dihapuskan.
Model. acara selepas pemadaman akan dimatikan.
Sekarang mari kita lihat bagaimana kita boleh melakukan pemadaman dalam rangka kerja CakePHP seperti berikut.
Untuk memadamkan rekod dalam pangkalan maklumat, pertama sekali kita perlu menyimpan kawasan kerja menggunakan kehebatan TableRegistry. kita boleh mendapatkan kesempatan daripada perpustakaan dengan menggunakan kaedah get(). Pendekatan get() akan menerima panggilan kawasan kerja pangkalan maklumat sebagai isu. Pada masa ini, kesempatan baharu ini digunakan untuk mendapatkan dokumen menarik yang perlu kami padamkan.
Panggil prosedur get() dengan model baharu ini dan letakkan kunci utama untuk melihat laporan supaya disimpan dalam setiap contoh lain. Gunakan panduan selera TableRegistry untuk memanggil cara pemadaman untuk menangani rekod pemadaman daripada set data.
Semasa memadamkan elemen, maklumat berkaitan juga boleh dipadamkan. Sekiranya HasOne anda dan mempunyai banyak gabungan direka bentuk sebagai bergantung, padam tugasan akan 'berjalan' kepada bahan tersebut juga. Sudah tentu elemen dalam jadual berkaitan dihapuskan menggunakan CakeORMTable::deleteAll(). Anda boleh memilih untuk mempunyai elemen berkaitan beban ORM dan memadamkannya secara bebas dengan menetapkan pilihan cascadeCallbacks kepada sah. Contoh hubungan HasMany dengan kedua-dua pilihan yang diperkasakan ini ialah:
Sekarang mari lihat sintaks seperti berikut.
delete(integer $specified id of table= null, required boolean value$cascade = true);
Penjelasan
Dengan menggunakan sintaks di atas, kami boleh melaksanakan pemadaman dalam CakePHP, di sini kami menggunakan arahan padam dengan parameter berbeza seperti berikut.
Id yang ditentukan bagi jadual ialah pengecam unik jadual itu dan ia adalah integer, pada mulanya, ia adalah batal mengikut keperluan kami, kami boleh menukar nilai Id.
Dalam sintaks ini, kami juga menggunakan nilai Boolean untuk menetapkan pelaksanaan lata operasi pemadaman seperti yang ditunjukkan dalam sintaks di atas.
CakePHP padam pukal
Sekarang mari lihat bagaimana kita boleh melakukan pemadaman pukal dalam CakePHP seperti berikut.
Mungkin ada kalanya memadamkan garis secara individu tidak berkesan atau membantu. Dalam kes ini, adalah lebih cekap untuk menggunakan pemadaman besar-besaran untuk menghapuskan banyak garisan tanpa kelewatan seketika. Pemadaman besar-besaran akan dianggap berkesan sekiranya sekurang-kurangnya 1 baris dipadamkan. Kapasiti mengembalikan bilangan rekod yang dipadamkan sebagai nombor bulat.
Sekarang mari kita lihat sintaks pemadaman pukal seperti berikut.
function deletespam() { return $this->deleteAll(['Specified statement that is spam' => true]); }
Penjelasan
Dalam sintaks di atas, kami mengisytiharkan fungsi dan di dalam fungsi itu, kami memanggil kaedah deleteAll seperti yang ditunjukkan. Dalam sintaks ini, kita perlu menetapkan nilai Boolean bagi pernyataan tertentu yang kita mahu dan ia bergantung pada keperluan pengguna.
Sekarang mari lihat contoh operasi pemadaman yang berbeza untuk pemahaman yang lebih baik seperti berikut.
Pertama, kita perlu mencipta jadual baharu dan meletakkan beberapa rekod ke dalam jadual seperti berikut.
CREATE TABLE IF NOT EXISTS `sampledemo` ( `id` char(30) NOT NULL, `EmpName` varchar(250) DEFAULT NULL, `EmpPass` varchar(40) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Sekarang masukkan rekod dalam jadual yang baru dibuat seperti berikut.
INSERT INTO `sampledemo` (`id`, `EmpName`, `EmpPass`) VALUES ('3', 'Siya','$2y$10$HKLH3YiZE'), ('4', 'Rohan','$2y$10$bZcoCTW'), ('5', 'Tanya','$2y$10$SnGQV8O');
Explanation
After Execution of the above query, we will get the following result as shown in the following screenshot as follows.
Now we need to make the changes in route.php as shown below.
<?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('/users/delete', ['controller' => 'sam, 'action' => 'delete']); $builder->fallbacks(); }); Now we need to create a usercontroller.php file and write the following code as follows. ?php namespace App\Controller; use App\Controller\AppController; use Cake\ORM\TableRegistry; use Cake\Datasource\ConnectionManager; class UsersController extends AppController{ public function sequence (){ $users = TableRegistry::get('users'); $query = $users->find(); $this->set('output',$query); } public function delete($id){ $users_table = TableRegistry::get('users'); $users = $users_table->get($id); $users_table->delete($users); echo "deleted successfully."; $this->setAction('sequence'); } } ?>
Now we need to create a directory for the user and that file we call a ctp file either sequence or index as per our requirement we can change the name of the file and write the following code as follows.
<a href="add"> User</a> <table> <tr> <td>Id</td> <td>EmpNamee</td> <td>EmpPass</td> <td>Edit</td> <td>Delete</td> </tr> <?php foreach ($Output as $row): echo "<tr><td>".$row->id."</td>"; echo "<td>".$row->Empname."</td>"; echo "<td>".$rows->EmpPass."</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>
Now run the script in localhost and see the output, here is the end result of the above implementation we illustrated by using a screenshot as follows.
Now suppose we need to delete the 3 number records, so we need to provide the id of that row and the after delete operation result as shown in the following screenshot.
Similarly, we can delete the 4th number row and we can see the result in the following screenshot as follows.
We hope from this article you learn more about the CakePHP delete. From the above article, we have taken in the essential idea of the CakePHP delete and we also see the representation and example of the CakePHP delete. From this article, we learned how and when we use the CakePHP delete.
Atas ialah kandungan terperinci CakePHP Padam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!