Maison > Article > développement back-end > CakePHP Supprimer
Fondamentalement, CakePHP est un framework utilisé pour effectuer la suppression et est utilisé pour supprimer les enregistrements de la base de données identifiés par le $id. Normalement, la commande de suppression dépend de l'enregistrement, ce qui signifie que nous pouvons dire que la relation de l'utilisateur est un à plusieurs ou que nous pouvons avoir une appartenance. Nous savons que PHP est un langage de script côté serveur permettant de réaliser des interactions dynamiques entre les différentes pages Web. En d'autres termes, nous pouvons dire que nous pouvons supprimer des enregistrements de la base de données MySQL à l'aide du framework CakePHP selon nos besoins et qu'il est facile à mettre en œuvre.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Pour supprimer un enregistrement dans l'ensemble de données, nous devons d'abord nous procurer une table utilisant la classe Table Registry. Nous pouvons sortir l'occasion de la bibliothèque en utilisant la technique get(). La technique get() prendra le nom de la table de l'ensemble de données comme conflit. Actuellement, ce nouvel exemple est utilisé pour obtenir un enregistrement spécifique que nous devons supprimer.
Appelez la stratégie get() avec cette nouvelle occurrence et passez la clé indispensable pour observer un enregistrement qui sera sauvegardé dans un autre cas. Utilisez l'exemple de la classe Table Registry pour appeler la technique de suppression afin de supprimer des enregistrements de la base d'informations.
Les règles de suppression seront appliquées. En supposant que les normes ne soient pas respectées, l’effacement sera évité.
L'occasion de suppression Model.before est déclenchée. En supposant que cet événement soit interrompu, la suppression sera interrompue et le résultat de l’événement sera renvoyé.
L'élément sera supprimé.
Toutes les affiliations dépendantes seront supprimées. Si des affiliations sont supprimées en tant que substances, des occasions supplémentaires seront envoyées.
Tous les enregistrements de table d'intersection pour Appartient à de nombreuses affiliations seront éliminés.
Le modèle. après la suppression, l'occasion sera déclenchée.
Voyons maintenant comment effectuer la suppression dans le framework CakePHP comme suit.
Pour supprimer un enregistrement dans la base d'informations, nous devons d'abord conserver une zone de travail utilisant la superbe fonctionnalité TableRegistry. nous pouvons extraire l'occasion de la bibliothèque en utilisant la méthode get(). L'approche get() acceptera l'appel de la zone de travail de la base d'informations comme un problème. Actuellement, cette nouvelle occasion est mise à profit pour obtenir un document intéressant que nous devons supprimer.
Appelez la procédure get() avec ce nouveau modèle et contournez la touche principale pour afficher un rapport tel qu'il est enregistré dans chaque autre exemple. Utilisez le guide de bon goût TableRegistry pour appeler la méthode de suppression pour gérer la suppression des enregistrements d'un ensemble de données.
Lors de l'effacement d'éléments, les informations associées peuvent également être effacées. Dans le cas où votre HasOne et a de nombreuses affiliations sont conçues comme dépendantes, les tâches d'effacement seront également « orientées » vers ces substances. Bien sûr, les éléments des tableaux associés sont éliminés à l'aide de CakeORMTable::deleteAll(). Vous pouvez choisir de charger les éléments liés à l'ORM et de les effacer indépendamment en définissant le choix cascadeCallbacks sur valide. Un exemple de relation HasMany avec ces deux choix habilités serait :
Voyons maintenant la syntaxe suivante.
delete(integer $specified id of table= null, required boolean value$cascade = true);
Explication
En utilisant la syntaxe ci-dessus, nous pouvons implémenter la suppression dans CakePHP, nous utilisons ici la commande delete avec différents paramètres comme suit.
L'identifiant spécifié de la table est un identifiant unique de cette table et c'est un entier, initialement, il est nul selon nos exigences, nous pouvons modifier la valeur de l'identifiant.
Dans cette syntaxe, nous utilisons également la valeur booléenne pour définir l'implémentation en cascade de l'opération de suppression, comme indiqué dans la syntaxe ci-dessus.
CakePHP supprimer en masse
Voyons maintenant comment effectuer une suppression groupée dans CakePHP comme suit.
Il peut y avoir des moments où effacer des lignes individuellement n’est pas efficace ou utile. Dans ces cas-là, il est plus efficace d’utiliser un effacement massif pour éliminer de nombreuses lignes sans délai. Un effacement massif sera considéré comme efficace dans le cas où au moins 1 ligne est effacée. La capacité renvoie le nombre d'enregistrements effacés sous forme de nombre entier.
Voyons maintenant la syntaxe de la suppression groupée comme suit.
function deletespam() { return $this->deleteAll(['Specified statement that is spam' => true]); }
Explication
Dans la syntaxe ci-dessus, nous avons déclaré une fonction et à l'intérieur de la fonction, nous avons appelé la méthode deleteAll comme indiqué. Dans cette syntaxe, nous devons définir la valeur booléenne de l'instruction spécifiée que nous voulons et cela dépend des besoins de l'utilisateur.
Voyons maintenant les différents exemples d'opération de suppression pour une meilleure compréhension comme suit.
Tout d'abord, nous devons créer une nouvelle table et y insérer quelques enregistrements comme suit.
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;
Insérez maintenant les enregistrements dans la table nouvellement créée comme suit.
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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!