Ich versuche, eine Model/Mapper-Art der Interaktion mit Doctrine DBAL zu implementieren, aber lief ein paar Fragen. Einige meiner Spaltennamen haben am Ende ein '#'. Das Ändern des Namens ist keine Option. Die $ {'COL1 #'} Syntax funktioniert gut für reguläre Variablen, aber PHP scheint es schwer zu haben, wenn es als Objekteigenschaft verwendet wird.Doctrine DBAL -> execute() und Hydration mit DB2-Feldnamen einschließlich '#'
Parse-Fehler: Syntaxfehler, unerwartete '$', variable (T_VARIABLE in ...
erwarten Wie kann ich ein Modell für eine Tabelle mit einem Hashtag im Feldnamen haben
Frage 1: Haben Sie Doctrine-Einheiten konfiguriert? Frage 2: Haben Sie versucht, den Hydrator 'Zend \ Stdlib \ Hydrator \ ClassMethods' zu verwenden, um eine Entity zu hydratisieren? – ceadreak
@ceadreak Ich begann mit Doctrine-Entitäten aufgrund dieses Problems, aber diese Datenbanktabellen sind fast 40 Jahre alt und Relationen sind fast nicht existent. Außerdem haben wir Entwickler, die nicht in PHP arbeiten (andere Sprachen, aber gleiche Tabellen) und ich kann nicht erwarten, dass sie daran denken, eine Entität zu ändern, wenn sie eine Änderung an der Datenbank vornehmen. Ich glaube also, Entitäten sind keine Möglichkeit. Was 'ClassMethods' betrifft, habe ich das zum Hydratisieren benutzt, aber ich musste immer noch jede Reihe durchlaufen. –
Können Sie keine Ansichten in MySQL erstellen und Ihre Spalten in etwas freundlicher umbenennen (ohne '#') ...? Doctrine unterstützt die Verwendung von Ansichten für Ihr Modell. – Wilt