Typische "Fehler" beim GenericORMapper

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Typische "Fehler" beim GenericORMapper

Beitrag von dr.e. » 29.12.2008, 13:15:43

Hallo zusammen,

dieser Thread soll dazu dienen, die Folgen von typischen Implementierungsfehlern bei der Verwendung des GenericORMappers dazustellen und Lösungen aufzuzeigen. Falls bei der Entwicklung / im Support weitere Fälle auftreten, bitte ich diese einfach hier zu ergänzen.

1. Unbekannte Tabelle in einer WHERE-Bedingung:
Wird beim Laden von Objekten über eine GenericCriterionObject-Bedingung ein "falscher" Beziehungsschlüssel angegeben, so kommt es zu einem

#1109 - Unknown table 'ent_xyz' in on clause

Die Ursache des Fehlers ist, dass in der JOIN-Bedingung eine Tabelle Referenziert wird, die nicht zu den vorhandenen Beziehungen passt. Es muss deshalb immer darauf geachtet werden, welche Objekte mit der Methode loadNotRelatedObjects() geladen werden, so dass die Beziehungsdefinition im GenericCriterionObject auf diesen Objekt-Typ passt.

Beispiel aus dem Modul usermanagement:
Wird statt

Code: Alles auswählen

$crit->addRelationIndicator('Application2User',$app);
return $oRM->loadNotRelatedObjects($role,'Role2User',$crit);

die Definition des GenericCriterionObject mit

Code: Alles auswählen

$crit->addRelationIndicator('Application2Role',$app);
return $oRM->loadNotRelatedObjects($role,'Role2User',$crit);

definiert, wird der MySQL-Fehler #1109 - Unknown table 'ent_role in on clause ausgegeben.


2. "Undefined index: [..]"
Undefined index: in Kombination mit Undefined index: xyz und einem Statement-Fehler tritt dann auf, wenn der Mapper SessionSingleton erzeugt wurde und in den Konfigurationsdateien eine Änderung während der Session auftritt. Hier hilft einfach ein Löschen bzw. Neuanlegen der Session. In der Entwicklungsumgebung kann das durch Löschen der Session-Dateien erfolgen.
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dave » 18.03.2011, 18:34:06

Hallo,

ich bin durch Zufall gestern Abend auf diesen Thread gestossen, da mich das Problem wie unter
2. "Undefined index: [..]"
betroffen hat.

Es gibt auch in der Doku einen Hinweis zur Problematik SINGLETON und SESSIONSINGLETON. Jedoch habe ich das einfach nicht verstanden. Mir ist das nun aber bewusst geworden, nachdem mich das Problem auch getroffen hat.

Es wäre evtl. hilfreich, in der Hinweisbox unter 4.1.1 Klassische Vorgehensweise (http://adventure-php-framework.org/Seit ... ehensweise) auch noch einen Link auf diesen Thread einzufügen. Hat mich gestern zwei Stunden gekostet, nachdem die Session dann abgelaufen war, hats geklappt. Nun stehts erstmal wie in der Doku beschrieben auf SINGLETON. Nur konnte ich erst nach dem Lesen dieses Threads was mit dem Hinweis anfangen ;).

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dr.e. » 19.03.2011, 21:11:45

Hallo dave,

dass dich das 2h gekosten hat ist in der Tat blöd. Habe lokal die Doku schon hinsichtlich des Hinweises erweitert. Auf Dauer sollten wir die Hinweise hier jedoch in's Wiki ziehen. Die Doku habe ich nur noch nicht aktualisiert, da dort schon sehr viele Änderungen für 1.14 enthalten sind, die aktuell noch nicht funktionieren. Die Änderung wird aber definitiv mit dem nächsten Update zu 1.14 enthalten sein.
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dave » 19.03.2011, 21:29:40

Wiki ist ne gute Idee, nur wie wollen wir das dann zusammen packen?

Die Hinweise, die wir hier posten ins Wiki verfrachten und in der Doku aufs Wiki verweisen? Sollte machbar sein ;). Könnte morgen von Arbeit aus diesen Thread ins Wiki einpflegen!

Aber die Doku nun auf dem Stand lassen und sämtliche Hinweise nur noch ins Wiki posten halte ich für nicht so gut (das hast du auch nicht so gemeint, oder?).

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dr.e. » 19.03.2011, 21:41:35

Hi dave,

ich hätte vorgeschlagen das so FAQ-mäßig aufzuziehen und wie im Post oben einfach einzelne Sektionen mit

Fehler:
...

Ursache + Lösung:
...

aufzuführen. Dann verlinke ich von der aktuellen DOKU auf den Wiki-Eintrag und auch von hier natürlich.

Aber die Doku nun auf dem Stand lassen und sämtliche Hinweise nur noch ins Wiki posten halte ich für nicht so gut (das hast du auch nicht so gemeint, oder?).

Nein, das Wiki sehe ich mehr als Ergänzung der "offiziellen" Doku (das Wiki ist natürlich auch eine offizielle Resource) denn als Ersatz. Die wirklich essentiellen Sachen sollten dort schon stehen. Aber das hier ist ja mehr eine Hilfestellung denn ein essentieller Teil der Doku. Die Wichtigkeit möchte ich damit aber nicht abtun.

Die Hinweise, die wir hier posten ins Wiki verfrachten und in der Doku aufs Wiki verweisen? Sollte machbar sein ;). Könnte morgen von Arbeit aus diesen Thread ins Wiki einpflegen!

Wenn du das übernehmen möchtest immer gerne. :)
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dave » 19.03.2011, 21:44:58

Supi, dann sind wir uns ja einig :). Ich bereite morgen mal was vor, am Sonntag bleibt immer Zeit über ^^.

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dave » 20.03.2011, 13:10:46

Ich habe da mal was vorbereitet: ;)

http://wiki.adventure-php-framework.org ... icORMapper

Darf gerne jederzeit angepasst und erweitert werden!


Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dave » 20.03.2011, 14:49:06

Screeze hat geschrieben:der 1. codeblock passt nicht glaub ich

Code: Alles auswählen

loadNo langtRelatedObjects()


Jup, das stimmt. Ist angepasst! :)

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dr.e. » 20.03.2011, 22:55:04

Hallo dave,

danke für's Überführen. Ich habe das unter http://wiki.adventure-php-framework.org/de/FAQs auch gleich verlinkt. Alle weiteren Ergänzungen sollten nun im Wiki ergänzt werden (habe gerade *_ojects.ini korrigiert).
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dave » 20.03.2011, 22:59:31

Jup, wunderbar!

Wie gesagt, wer was zu ergänzen hat, möchte das bitte tun. Habe auch schon eine mögliche Ergänzung, kann es abe rnoch nicht vollständig nachvollziehen bzw. beschreiben. Bin aber dran ;)

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dr.e. » 20.03.2011, 23:17:11

Solltest du Hilfe brauchen - vielleicht ist es ja auch ein Bug - sag Bescheid.
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dave » 20.03.2011, 23:20:09

Nee, ist definitiv kein Bug. Ende nächster Woche kann ich mehr dazu sagen, muss erstmal ein paar Tage Erholung nachholen ;).

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Typische "Fehler" beim GenericORMapper

Beitrag von dr.e. » 20.03.2011, 23:20:39

Alles klar, dann mal gute Erholung! :)
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast