Laravel – Eintrag mit Eloquent aus Datenbank löschen
Mit der „destroy()“ Methode lässt sich mit Eloquent ein Eintrag aus der Datenbank-Tabelle löschen:
Mit der „destroy()“ Methode lässt sich mit Eloquent ein Eintrag aus der Datenbank-Tabelle löschen:
In diesem Schritt erweitern wir unseren Quelltext so, dass nur eigene Todo ListItems angezeigt und bearbeitet werden können.Dazu erstellen wir zuerst eine Migration für die ListItem-Tabelle – hier erweitern wir die Spalte „user_id“.In dieser Spalte wird unsere aktuelle UserId gesichert, wenn ein Todo ListItem angelegt wird. Nach Anlegen der Migration lassen wir diesen Code laufen…
Die Todos sollen nur erstellt und als erledigt markiert werden können, wenn der User angemeldet ist.Dazu schalten wir die „$this->middleware(‚auth‘);“ im Konstruktor des TodoListControllers aktiv: In der Todos View erscheint beim Zugriff auf die „todos“ der Login-Dialog, wenn der Benutzer nicht angemeldet ist: Nach erfolgreichem Login kann der User die todos bearbeiten!
In diesem Schritt benennen wir das „Welcome“ Blade-Template um in „Todos“.Dazu passen wir neben dem Namen des Blade Templates selbst auch den TodoController an und ersetzen dort „welcome“ durch „todos“:
In diesem Schritt fügen wir Twitter Bootstrap zu unserem Projekt hinzu. Das erleichtert das Layout der App wesentlich.Außerdem lassen wir uns Registrierung + Login Masken automatisch erzeugen.Beim letzten Mal haben wir auch ein Layout angelegt, bei der Installation von Bootstrap wird ein separates Layout angelegt. Zuerst installieren wir Laravel-UI mithilfe von composer in der Kommandozeile:…
Jetzt passen wir unsere Laravel TodoApp an, indem wir ein Layout erstellen, dass für mehrere Seiten die Basis ist.Dazu verschieben wir einige Inhalte (gesamter html-head, html-body) aus der welcome.blade.php in eine neue app-layout.blade.php Datei. Diese Datei erstellen wir in dem neuen resources/layouts Verzeichnis: Die Webseiten-Ansicht hat sich nicht geändert. Der Grund für die Erstellung einer…
Nun können wir uns daran machen, unsere neu angelegten Todos als erledigt zu markieren.Dazu brauchen wir pro ListItem einen Button, der das jeweilige als erledigt markiert: Erledigte Todos haben vor dem Eintrag ein „✓“, unerledigte werden mit „o“ dargestellt.Das ganze ist in dem Template der root-Route („Welcome.blade.php“) definiert: Hier haben wir eine if/else Bedingung und…
Nachdem wir das Speichern von ListItems in der Tabelle „list_items“ gelöst haben, machen wir uns nun daran, alle ListItems aus der Tabelle in der Default View „welcome.blade.php“ auszugeben. Dazu passen wir die Welcome Route an: Außerdem brauchen wir eine „index()“ Methode in unserem TodoListController. In der Methode wird wie bisher die „Welcome“-View (das Blade Template)…
Jetzt können wir die eingegebenen Formulardaten, die per POST Request an unseren TodoListController übertragen werden, in der Tabelle „list_items“ speichern. Dazu erweitern wir unseren Quelltext wie folgt: Wir prüfen vor dem Speichern der Todo-Items, ob überhaupt Formulardaten ausgefüllt wurden.Nun geben wir im Formular ein neues Todo-Item ein: Nach einem Klick auf Speichern schauen wir uns…
In diesem Schritt geben wir die Formulardaten aus, die beim Senden (Klick auf den „Save“-Button) übertragen werden.Wir haben die neue Route zum Übertragen des POST-Requests bereits im letzten Schritt angelegt, die Methode „saveItem()“ im TodoListController passen wir jetzt an: Wir haben den Parameter „$request“ ergänzt und geben die Request-Daten, die vom Formular übertragen werden, in…