Heim > Artikel > Backend-Entwicklung > CakePHP löschen
Grundsätzlich handelt es sich bei CakePHP um ein Framework, das zum Durchführen des Löschvorgangs verwendet wird, um die Datensätze aus der durch die $id identifizierten Datenbank zu löschen. Normalerweise hängt der Löschbefehl vom Datensatz ab, was bedeutet, dass wir sagen können, dass die Beziehung des Benutzers eine Eins-zu-Viele-Beziehung ist oder dass wir Zugehörigkeiten haben können. Wir wissen, dass PHP eine serverseitige Skriptsprache ist, um dynamische Interaktionen zwischen den verschiedenen Webseiten zu ermöglichen. Mit anderen Worten können wir sagen, dass wir mit Hilfe des CakePHP-Frameworks gemäß unseren Anforderungen Datensätze aus der MySQL-Datenbank löschen können und es einfach zu implementieren ist.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Um einen Datensatz im Datensatz zu löschen, müssen wir zunächst eine Tabelle mithilfe der Table Registry-Klasse abrufen. Mit der get()-Technik können wir das Ereignis aus der Bibliothek holen. Die get()-Technik verwendet den Namen der Datensatztabelle als Konflikt. Derzeit wird dieses neue Beispiel verwendet, um einen bestimmten Datensatz abzurufen, den wir löschen müssen.
Rufen Sie die get()-Strategie mit diesem neuen Vorkommen auf und übergeben Sie den wesentlichen Schlüssel, um einen Datensatz zu beobachten, der in einem anderen Fall gespeichert wird. Nutzen Sie das Beispiel der Table Registry-Klasse, um die Löschtechnik aufzurufen, um Datensätze aus der Informationsbasis zu löschen.
Die Löschregeln werden angewendet. Unter der Annahme, dass die Standards nicht eingehalten werden, wird die Löschung verhindert.
Der Model.before-Löschvorgang wird ausgelöst. Vorausgesetzt, dass dieses Ereignis angehalten wird, wird der Löschvorgang abgebrochen und das Ergebnis des Ereignisses wird zurückgegeben.
Das Element wird gelöscht.
Alle abhängigen Zugehörigkeiten werden gelöscht. Für den Fall, dass Zugehörigkeiten als Inhalte gelöscht werden, werden zusätzliche Termine versendet.
Alle Schnittmengentabellendatensätze für Gehört zu vielen Zugehörigkeiten werden entfernt.
Das Modell. Nach dem Löschen wird der Vorgang ausgelöst.
Jetzt wollen wir sehen, wie wir den Löschvorgang im CakePHP-Framework wie folgt durchführen können.
Um einen Datensatz in der Informationsdatenbank zu löschen, müssen wir zunächst einen Arbeitsbereich unter Verwendung der TableRegistry-Funktionalität beibehalten. Mit der Methode get() können wir das Ereignis aus der Bibliothek holen. Der get()-Ansatz akzeptiert den Aufruf des Informationsbasis-Arbeitsbereichs als Problem. Derzeit wird diese neue Gelegenheit genutzt, um ein interessantes Dokument zu erhalten, das wir löschen müssen.
Rufen Sie die get()-Prozedur mit diesem neuen Modell auf und umgehen Sie die Haupttaste, um einen Bericht anzuzeigen, der in jedem anderen Beispiel gespeichert ist. Nutzen Sie den TableRegistry-Geschmacksleitfaden, um die Löschmethode zum Umgang mit gelöschten Datensätzen aus einem Datensatz aufzurufen.
Beim Löschen von Elementen können auch zugehörige Informationen gelöscht werden. Für den Fall, dass Ihr HasOne und viele andere Verbindungen als abhängig konzipiert sind, werden sich Löschaufgaben auch auf diese Substanzen auswirken. Natürlich werden Elemente in verwandten Tabellen mithilfe von CakeORMTable::deleteAll() entfernt. Sie können wählen, ob die ORM-Elemente geladen werden sollen, und diese unabhängig voneinander löschen, indem Sie die Option „cascadeCallbacks“ auf „gültig“ setzen. Ein Beispiel für eine HasMany-Beziehung mit der Möglichkeit, diese beiden Entscheidungen zu treffen, wäre:
Sehen wir uns nun die Syntax wie folgt an.
delete(integer $specified id of table= null, required boolean value$cascade = true);
Erklärung
Mithilfe der obigen Syntax können wir delete in CakePHP implementieren. Hier verwenden wir den Löschbefehl mit verschiedenen Parametern wie folgt.
Die angegebene ID der Tabelle ist eine eindeutige Kennung dieser Tabelle und eine Ganzzahl. Zunächst ist sie null, gemäß unserer Anforderung können wir den Wert der ID ändern.
In dieser Syntax verwenden wir auch einen booleschen Wert, um die Kaskadenimplementierung des Löschvorgangs festzulegen, wie in der obigen Syntax gezeigt.
CakePHP Massenlöschung
Jetzt wollen wir sehen, wie wir wie folgt Massenlöschungen in CakePHP durchführen können.
Es kann vorkommen, dass das einzelne Löschen von Linien weder effektiv noch hilfreich ist. In diesen Fällen ist es effizienter, eine Massenlöschung durchzuführen, um viele Zeilen ohne eine kurze Verzögerung zu entfernen. Eine Massenlöschung gilt als wirksam, wenn mindestens eine Zeile gelöscht wird. Die Kapazität gibt die Anzahl der gelöschten Datensätze als ganze Zahl zurück.
Sehen wir uns nun die Syntax des Massenlöschens wie folgt an.
function deletespam() { return $this->deleteAll(['Specified statement that is spam' => true]); }
Erklärung
In der obigen Syntax haben wir eine Funktion deklariert und innerhalb der Funktion die Methode deleteAll aufgerufen, wie gezeigt. In dieser Syntax müssen wir den booleschen Wert der angegebenen Anweisung festlegen, den wir möchten, und er hängt von den Benutzeranforderungen ab.
Jetzt sehen wir uns zum besseren Verständnis die verschiedenen Beispiele für Löschvorgänge wie folgt an.
Zuerst müssen wir eine neue Tabelle erstellen und einige Datensätze wie folgt in die Tabelle einfügen.
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;
Fügen Sie nun wie folgt Datensätze in die neu erstellte Tabelle ein.
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.
Das obige ist der detaillierte Inhalt vonCakePHP löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!