ePrivacy and GPDR Cookie Consent by Cookie Consent
Unterstütze unsere Tutorials mit einem WerbeClick!

Symfony 3.4 Tutorial :: Datenbank-Tabelle anzeigen (CRUD)

Write a comment

Das 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:Phonelist
Wir 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]:

...
symfony entitiy anlegen

2. Die Tabelle erzeugen

Jetzt erstellen wir die Tabelle in unserer MySQL Datenbank mit folgendem Kommando:
php bin/console doctrine:schema:update --force
Das Resultat prüfen wir mit dem sqlYOG.
Bei dieser Gelegenheit kann man auch gleich ein paar Testdaten eingeben! symfony2 doctrine sqlyog

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:Phonelist
Jetzt 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

 


 
Say something here...
You are a guest
or post as a guest
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.

Unterstütze unsere Tutorials mit einem Werbeclick!

Über uns

Wir sind ein agiles Team von Softwareentwicklungen, UX-Designern und IT-Supporten und haben uns auf individuelle Softwarelösung für den Mittelstand spezialisiert. Unsere besondere Stärken sind  Web-Anwendungen mit dem Symfony Framework sowie individuelle Industrielösungen für Produktionslinien, Servicetechniker oder Inspekteure zu entwickeln. Eine weitere Stärke ist die Erweiterung von Content Management Systemen wie beispielsweise Wordpress, Typo3, Drupal und Joomla. Das entwickeln von Apps für Android, Windows und Apple OS Systemen ist selbstverständlich!