Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Symfony Grundkurs

Objekte aus der Datenbank ausgeben lassen

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Mit Doctrine können Daten auch wieder aus der Datenbank ausgelesen und im Browser angezeigt werden.
06:25

Transkript

Ich habe jetzt mithilfe von Doctrine eine Entität erzeugt und habe eine Klasse "Plan" und habe, was äußerst erfreulich ist, auch gleichzeitig innerhalb meiner Datenbank eine eigene Tabelle "plan". Ich habe jetzt in diese Tabelle bereits zwei Datensätze eingefügt, damit ich Ihnen zeigen kann, wie man diese Datensätze aus der Datenbank wieder herausbekommt und hier in der Liste dann einfügen kann. Dazu muss ich zuallererst mal dafür sorgen, dass mein Controller korrekt arbeiten kann, denn das ist ja schließlich die Schaltzentrale für alles. Und damit ich mit meiner Entität arbeiten kann, muss ich sie jetzt natürlich auch hereinholen. Das heißt, ich fange an mit "use Acme\PlanBundle\Entity\" und dann habe ich nur noch meinen "Plan;" als "Entity". Das ist die Voraussetzung dafür, dass ich überhaupt weiterarbeiten kann. Mein Plan ist folgender: Ich möchte jetzt eine Variable haben, ich nenne diese Variable "$planung" und in diese Variable sollen jetzt die Ergebnisse aus der Datenbank kommen. D. h. zuerst brauche ich mal Doctrine. D. h. ich sage "getDoctrine()" und "getRepository()", wobei ich da jetzt eindeutig auf mein höchsteigenes verweise, auf mein "AcmePlanBundle" und darin auf meinen ":Plan". und das was ich ausgegeben bekommen möchte, ist "findAll()". Gut, so viel dazu. Was ich jetzt noch machen muss, ist, ich muss beim Rendern dafür sorgen, dass meine "index.html" auf meine Variable zugreifen kann. Das heißt, ich sorge hier dafür, dass ein "Array('planung')" befüllt wird mit meiner Variablen. Das sieht gut aus, wenn ich hier noch einen Beistrich hätte. Mit dieser Voraussetzung, die ich jetzt speichere, muss ich jetzt nur noch innerhalb meiner "index.html.twig" dafür sorgen, dass ich auch eine Ausgabe bekomme. Das heißt, ich wechsle in meine entsprechende "view", nämlich in meine "index.html" und das, was ich als Erstes mache, ist, ich sorge dafür, dass mithilfe einer Twig-Syntax eine Schleife entsteht. D. h. mit der klassischen Twig-Syntax sage ich jetzt "for plan in planung". Diese "for"-Schleife muss ich eigentlich hier nur einmal durchlaufen lassen. Das heißt, ich sage hier "endfor". Gut, so viel zur Schleife. Das heißt, diese zusätzlichen Einträge, die ich hier noch habe, lösche ich einfach weg und muss jetzt nur noch den Feldern die Möglichkeit geben, dass sie auch zum Tragen kommen, sozusagen. Die Felder hole ich mir wieder mithilfe der Twig-Syntax. Mein erstes Feld ist "plan.name", mein zweites Feld wird "plan.ort" und mein Datumsfeld ist das Einzige, das ich noch ein bisschen anpassen möchte. Ich sage nicht nur "plan.datum", weil so wird’s als String behandelt werden und das will ich nicht, also setze ich einen Filter und sage, dass ich es hier eigentlich mit dem "date"-Format zu tun bekommen möchte und da habe ich jetzt bestimmte Vorstellungen, wie das Ganze aussehen soll. Ich möchte zum Beispiel den Monatsnamen ausgeschrieben haben, dann möchte ich dafür nur ganz kurze Tagesbezeichnungen haben, dann einen Beistrich, dann die Jahresangabe und die Zeitangabe, auch ziemlich kurz, also eine ganz normale 12 Stunden Zeitangabe. Das sollte es eigentlich sein. Im Idealfall iterieren jetzt die Einträge aus der Datenbank durch diese Schleife und diese Schleife wiederholt sich, solange Einträge da sind. Ich speichere das Ganze, wechsle in meinen Browser, erneuere die Ansicht und es hat tatsächlich funktioniert. ich habe jetzt meine zwei existierenden Einträge, statt des Dummy-Textes von zuerst. Es ist also mit zwei Schritten relativ einfach, einerseits muss ich in meinem Controller die nötigen Vorbereitungen treffen, dass ich eine Datenbankabfrage machen kann, die ich dann mache und in meinem Template sorge ich dafür, dass sie dann noch ausgegeben werden können. Wir haben somit Doctrine nicht nur dazu verwenden können, dass wir eine Datenbank erzeugen, sondern Doctrine sorgt weiter auch dafür, dass wir auf diese Daten zugreifen können.

Symfony Grundkurs

Steigen Sie in die moderne und flexible PHP-Entwicklung mit dem praktischen Framework ein.

2 Std. 35 min (34 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:18.01.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!