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
überblick über CakePHP Delete
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.
Wie l?sche ich Daten in CakePHP?
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.
Beispiele
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.
Conclusion
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!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

Das Upgrade der PHP -Version ist eigentlich nicht schwierig, aber der Schlüssel liegt in den Betriebsschritten und Vorsichtsma?nahmen. Im Folgenden finden Sie die spezifischen Methoden: 1. Best?tigen Sie die aktuelle PHP -Version und verwenden Sie die Umgebung aus der laufenden Umgebung. Verwenden Sie die Befehlszeile oder die Phpinfo.php -Datei, um sie anzuzeigen. 2. W?hlen Sie die geeignete neue Version aus und installieren Sie sie. Es wird empfohlen, es mit 8.2 oder 8.1 zu installieren. Linux -Benutzer verwenden Package Manager und MacOS -Benutzer verwenden Homebrew. 3.. Konfigurationsdateien und Erweiterungen migrieren, php.ini aktualisieren und die erforderlichen Erweiterungen installieren; 4. Testen Sie, ob die Website normal ausgeführt wird, überprüfen Sie das Fehlerprotokoll, um sicherzustellen, dass kein Kompatibilit?tsproblem vorliegt. Befolgen Sie diese Schritte und Sie k?nnen das Upgrade in den meisten Situationen erfolgreich abschlie?en.

Topreventcsrfattacksinphp, Implementanti-csrftokens.1) GenerateAndSecuretokenseuseRandom_Bytes () orbin2hex (Random_Bytes (32)), Savethemin $ _session und IncludetheThItHididInputs

Um eine PHP -Entwicklungsumgebung einzurichten, müssen Sie die entsprechenden Tools ausw?hlen und die Konfiguration korrekt installieren. ① Die grundlegendste lokale PHP -Umgebung erfordert drei Komponenten: den Webserver (Apache oder Nginx), das PHP selbst und die Datenbank (wie MySQL/Mariadb); ② Es wird empfohlen, dass Anf?nger Integrationspakete wie XAMPP oder MAMP verwenden, die den Installationsprozess vereinfachen. XAMPP ist für Windows und MacOS geeignet. Nach der Installation werden die Projektdateien in das HTDOCS -Verzeichnis platziert und über Localhost aufgerichtet. ③MAMP ist für Mac -Benutzer geeignet und unterstützt eine bequeme Umstellung von PHP -Versionen, aber die kostenlose Version hat begrenzte Funktionen. ④ Erweiterte Benutzer k?nnen sie manuell durch Homebrew in macOS/Linux -Systemen installieren

Um zwei PHP -Arrays zusammenzuführen und eindeutige Werte zu behalten, gibt es zwei Hauptmethoden. 1. Verwenden Sie für Index -Arrays oder nur Deduplizierung Array_merge und Array_unique -Kombinationen: Zuerst merge array_merge ($ array1, $ array2) und verwenden Sie dann Array_unique (), um sie endgültig zu erhalten, um ein neues Array zu erhalten, das alle eindeutigen Werte enth?lt. 2. Verwenden Sie für assoziative Arrays und m?chten im ersten Array Schlüsselwertepaare beibehalten: $ result = $ array1 $ array2, was sicherstellt, dass die Schlüssel im ersten Array vom zweiten Array nicht überschrieben werden. Diese beiden Methoden gelten für verschiedene Szenarien, je nachdem, ob der Schlüsselname beibehalten wird oder nur der Fokus liegt

exit () ist eine Funktion in PHP, mit der die Skriptausführung sofort beendet wird. Zu den gemeinsamen Verwendungen geh?ren: 1. Beenden Sie das Skript im Voraus, wenn eine Ausnahme erkannt wird, z. 2. Ausgabe Zwischenergebnisse w?hrend des Debuggens und Stoppenausführung; 3. Aufrufen von Exit () nach Umleitung in Verbindung mit Header (), um die nachfolgende Codeausführung zu verhindern; Zus?tzlich kann Exit () String -Parameter als Ausgabeinhalt oder Ganzzahlen als Statuscode akzeptieren, und sein Alias ??ist die ().

Die rationale Verwendung semantischer Tags in HTML kann die Klarheit, Zug?nglichkeit und SEO -Effekte der Seitenstruktur verbessern. 1. für unabh?ngige Inhaltsbl?cke wie Blog-Beitr?ge oder Kommentare muss sie in sich geschlossen werden. 2. für klassifizierungsbezogene Inhalte, die normalerweise Titel enthalten, ist für verschiedene Module der Seite geeignet. 3.. Wird für Hilfsinformationen im Zusammenhang mit dem Hauptinhalt verwendet, nicht jedoch Kern, wie z. B. Seitenleistenempfehlungen oder Autorprofile. In der tats?chlichen Entwicklung sollten Etiketten kombiniert und andere, überm??ige Verschachtelung vermeiden, die Struktur einfach halten und die Rationalit?t der Struktur durch Entwicklerwerkzeuge überprüfen.

Um auf Sitzungsdaten in PHP zugreifen zu k?nnen, müssen Sie zuerst die Sitzung starten und dann das Hyperglobal -Array $ _Session überarbeiten. 1. Die Sitzung muss mit Session_Start () gestartet werden, und die Funktion muss vor jeder Ausgabe aufgerufen werden. 2. überprüfen Sie bei Zugriff auf Sitzungsdaten, ob der Schlüssel vorhanden ist. Sie k?nnen ISSET ($ _ Session ['Key']) oder Array_key_exists ('Key', $ _ Session) verwenden; 3. Setzen oder aktualisieren Sitzungsvariablen müssen dem Array $ _Session nur Werte zuweisen, ohne manuell zu speichern. 4. L?schen Sie spezifische Daten mit uneingestellter ($ _ Session ['Key']), l?schen Sie alle Daten und setzen Sie $ _Session auf ein leeres Array.

Rekursive Funktionen beziehen sich auf Selbstberechtigungsfunktionen in PHP. Die Kernelemente sind 1. Definieren der Terminierungsbedingungen (Basisbeispiele), 2. Zerlegung des Problems und das Aufrufen von selbst rekursiv (rekursive Beispiele). Es ist geeignet, mit hierarchischen Strukturen umzugehen, doppelte Unterprobleme zu zerlegen oder die Lesbarkeit der Code zu verbessern, z. B. Berechnung von Faktorien, Durchqueren von Verzeichnissen usw. Es ist jedoch erforderlich, auf das Risiko des Speicherkonsums und des Stapelüberlaufs zu achten. Beim Schreiben sollten die Ausstiegsbedingungen gekl?rt werden, die grundlegenden Beispiele sollten allm?hlich angesprochen werden, die redundanten Parameter sollten vermieden und kleine Eing?nge getestet werden. Beim Scannen eines Verzeichnisses trifft die Funktion beispielsweise auf ein Unterverzeichnis und ruft sich rekursiv auf, bis alle Ebenen durchquert werden.
