Hallo!
Welche Möglichkeiten gibt es eine Abfrage zu debuggen, also den SQL-Code auszugeben? In meinem Respository habe ich ja "nur" die folgenden Statements:
$query = $this->createQuery();
$query->matching( $query->equals( 'location', $location ) );
return $query->execute();
Zur Selbstüberprüfung und auch zur Fehlersuche wäre es halt schick wenn man die "SELECT..."-Statements sehen könnte.
Danke schon mal.
Viele Grüße,
Georg
Hallo Georg,
wenn Dein $query Objekt eine Eigenschaft/Property hat, in der das Select-Statement drin steht, dann kannst Du in mit der PHP built-in Funktion error_log() ausgeben. Wenn z.B. das Select-Statement in der Eigenschaft/Property sql drin steht, dann so diesen Statement protokollieren:
error_log($query->sql);
In Abhängigkeit der Direktive error_log in php.ini wird der Statement in das entsprechende Log geschrieben.
Auf Linux und in eine eigene Datei so z.B.:
error_log = /var/log/php.log
Die php.log schreibt der Apache. Denke daran ihm die Schreibrechte für den Pfad zu geben.
Auf Windows und in eine eigene Datei sollte es so z.B. funktionieren:
error_log = C:\php.log
syslog sollte bei Windows ab Windows 2000 in das Ereignisprotokoll schreiben - habe sowas noch nie gemacht:
error_log = syslog
Gruß
Wolfram