Doctrine

Shopware: registerCustomModels für Doctrine Entities von fremden Plugins

Sa, 22.11.2014 - 12:25 -- Daniel Espendiller

Da Shopware auf Doctrine setzt kann man eigene Entities auch über ein Plugins einbinden Shopware / Doctrine Plugin - Neues Model erstellen. Diese werden zum Beispiel unter MyPlugin/Models/FooClass.php angelegt. In der Plugin Bootstrap muss das Verzeichnis Models dann manuell registriert werden.

Ein Aufruf der registerCustomModels innerhalb von afterInit reicht dazu. Wenn man jedoch auch Entities von externe Plugin / Premium Plugins z.B. als Fremdbeziehung einbinden will, so kann man nicht davon ausgehen, dass das Plugin bereits initialisiert wurde. Will man dieses sicherstellen, so hilft es unten aufgeführtes Code-Snippet. Es ruft einfach die fremde registerCustomModels aus dem Plugin auf.

Doctrine und Symfony2 ORM Entities aus Datenbank erzeugen

Sa, 21.06.2014 - 11:53 -- Daniel Espendiller

Normalweise nutzt man in Symfony2 und Doctrine Projekten Yaml oder Annotations um dann über doctrine:schema:update die Datenbankstruktur anzulegen bzw. aktualisieren. Wenn man allerdings auf eine fremde Datenbank angewiesen ist funktioniert dieses Vorgehen meist nicht mehr. Mittels doctrine:mapping:import besteht jedoch auch die Möglichkeit aus einer Datenbank die Doctrine Entities samt Konfiguration zu generieren. Alles geht hier allerdings nicht automatischen und einige Dinge gibt es noch zu beachten

SQL-Query über Zend/Db unter Symfony2 ausführen

Sa, 06.04.2013 - 14:55 -- Daniel Espendiller

Es gibt Anwendungsfälle wo man unter Symfony2 mit Doctrine und dem QueryBuilder nicht weiterkommt, wie man unter anderem hier lesen kann: Symfony2 / Doctrine ORM: Tabellen JOIN ohne mapping. Zwar ist es möglich über Doctrine ganz normale SQL-Queries über execute und pdo zu verschicken, allerdings ohne Datenbankabstraktionsschicht und andere SQL Hilfsfunktionen.

Um dann doch ohne Doctrine und ORM eine SQL-Query einfach generieren zu können, habe ich das ZendDbBundle entwickelt. Es erstellt anhand der Symfony2 und Doctrine Konfiguration einen Service bereit, über den Queries per Zend/Db an die Datenbank geschickt werden können.

Symfony2 / Doctrine ORM: Tabellen JOIN ohne mapping

Sa, 26.01.2013 - 11:49 -- Daniel Espendiller

Symfony2 und Doctrine nehmen Dank ORM einiges an Arbeit ab. Anhand Entities wird ein Datenbankschema samt Foreign Keys aufgebaut. Mittels InnoDB wird man dadurch gezwungen die Datenbank konsisten zu halten. Es können also keine Daten gelöscht werden, die noch miteinader in Beziehung stehen. Doch manchmal passt dieses Konzept nicht.

Subscribe to Doctrine