Symfony 3.4 Tutorial :: Datenbank-Tabelle anzeigen (CRUD)
Write a commentDas Ziel
Wir möchten eine einfache Telefonliste anlegen und auf unserer Page anzeigen!
An dieser Stelle empfehlen wir das SQLyog Tool, das man unter http://code.google.com/p/sqlyog/wiki/Downloads herunterladen kann. Es können natürlich auch der phpMyAdmin oder andere MySQL Tools verwendet werden.
1. Tabellenstruktur (Entity Class)
In Symfony werden Tabellen über Entity Klassen erzeugt. Man kann natürlich auch Tabellen von Hand anlegen und diese dann über "reverse engineering" Technik einlesen.
Mit dem nachfolgenden Kommando wird ein neuer Ordner Entity in unserem Bundle sowie die Datei "Phonelist.php" erzeugt!
php bin/console doctrine:generate:entity --entity=AppBundle:PhonelistWir legen auch gleich die 3 Felder "vorname, nachname und telefon" an. Das ist nicht zwingend erforderlich spart aber jede Menge Arbeit, wenn man im Vorfeld schon weiß welche Felder man in seiner Tabelle haben möchte. Später können neue Felder manuell in der Klasse hinzugefügt werden.
... Instead of starting with a blank entity, you can add some fields now. Note that the primary key will be added automatically (named id). Available types: array, simple_array, json_array, object, boolean, integer, smallint, bigint, string, text, datetime, datetimetz, date, time, decimal, float, binary, blob, guid. New field name (press <return> to stop adding fields): vorname Field type [string]: Field length [255]: Is nullable [false]: Unique [false]: New field name (press <return> to stop adding fields): nachname Field type [string]: Field length [255]: Is nullable [false]: Unique [false]: New field name (press <return> to stop adding fields): telefon Field type [string]: Field length [255]: Is nullable [false]: Unique [false]: ...
2. Die Tabelle erzeugen
Jetzt erstellen wir die Tabelle in unserer MySQL Datenbank mit folgendem Kommando:
Bei dieser Gelegenheit kann man auch gleich ein paar Testdaten eingeben!
php bin/console doctrine:schema:update --forceDas Resultat prüfen wir mit dem sqlYOG.
Bei dieser Gelegenheit kann man auch gleich ein paar Testdaten eingeben!
3. Die Tabelle anzeigen
Wir benötigen einen so genannten CRUD-Controller! CRUD ist die Abkürzung für Create Read Update und Delete. Der Crud Controller stellt die Verbindung zu unserer Entität dar und gibt die Daten aus der Tabelle an die View weiter.
Mit dem Kommando doctrine:generate:crud erzeugen wir also einen Controller und die entsprechenden Views.
php bin/console doctrine:generate:crud --entity=AppBundle:PhonelistJetzt sollte die Telefonliste über die URL http://testprojekt.localhost/app_dev.php/phonelist aufrufbar sein. Allerdings stellen wir fest, dass unser Layout noch nicht mit dem neuen Twig-Views verbunden ist. Das holen wir jetzt gleich nach, in dem wir die Dateien in /app/Resources/views/phonelist/ anpassen.
TIPP:
Die Tabelle auf Class "table" in der View einstellen. Siehe https://getbootstrap.com/docs/3.3/css/#tables
Die Tabelle auf Class "table" in der View einstellen. Siehe https://getbootstrap.com/docs/3.3/css/#tables
You are a guest
or post as a guest
Loading comment...
The comment will be refreshed after 00:00.
Be the first to comment.