|
|
@@ -10,11 +10,12 @@
|
|
|
<title>Einführung</title>
|
|
|
|
|
|
<para>
|
|
|
- Das <classname>Zend_Db_Select</classname> Objekt repräsentiert ein SQL <code>SELECT</code> Anfrage Statement.
|
|
|
- Die Klasse bietet Methoden um einzelne Teile der Anfrage hinzuzufügen. Einzelne Teile
|
|
|
- der Anfrage können mit Hilfe von PHP Methoden und Datenstrukturen angegeben werden, und
|
|
|
- die Klasse erzeugt korrekte SQL Syntax. Nachdem die Anfrage formuliert wurde kann sie
|
|
|
- ausgeführt werden als wäre sie mit einem normalen String geschrieben worden.
|
|
|
+ Das <classname>Zend_Db_Select</classname> Objekt repräsentiert ein SQL
|
|
|
+ <code>SELECT</code> Anfrage Statement. Die Klasse bietet Methoden um einzelne Teile der
|
|
|
+ Anfrage hinzuzufügen. Einzelne Teile der Anfrage können mit Hilfe von PHP Methoden und
|
|
|
+ Datenstrukturen angegeben werden, und die Klasse erzeugt korrekte SQL Syntax. Nachdem
|
|
|
+ die Anfrage formuliert wurde kann sie ausgeführt werden als wäre sie mit einem normalen
|
|
|
+ String geschrieben worden.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
@@ -50,12 +51,12 @@
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- Nutzung von <classname>Zend_Db_Select</classname> ist nicht zwingend erforderlich. Für einfache SELECT
|
|
|
- Anfragen ist es normalerweise einfacher die gesamte SQL Anfrage in einem String zu
|
|
|
- formulieren und mit Hilfe der Methoden der Adapterklasse, wie <code>fetch()</code> oder
|
|
|
- <code>fetchAll()</code>, auszuführen. Die Nutzung von <classname>Zend_Db_Select</classname> ist hilfreich wenn
|
|
|
- eine SELECT Anfrage prozedural oder basierend auf der konditionellen Logik der
|
|
|
- Anwendung zusammengesetzt wird.
|
|
|
+ Nutzung von <classname>Zend_Db_Select</classname> ist nicht zwingend erforderlich. Für
|
|
|
+ einfache SELECT Anfragen ist es normalerweise einfacher die gesamte SQL Anfrage in einem
|
|
|
+ String zu formulieren und mit Hilfe der Methoden der Adapterklasse, wie
|
|
|
+ <code>fetch()</code> oder <code>fetchAll()</code>, auszuführen. Die Nutzung von
|
|
|
+ <classname>Zend_Db_Select</classname> ist hilfreich wenn eine SELECT Anfrage prozedural
|
|
|
+ oder basierend auf der konditionellen Logik der Anwendung zusammengesetzt wird.
|
|
|
</para>
|
|
|
|
|
|
</sect2>
|
|
|
@@ -65,8 +66,9 @@
|
|
|
<title>Erzeugung eines Select Objekts</title>
|
|
|
|
|
|
<para>
|
|
|
- Die Instanz eines <classname>Zend_Db_Select</classname> Objekts kann mit Hilfe der <code>select()</code>
|
|
|
- Methode des <classname>Zend_Db_Adapter_Abstract</classname> Objekts erzeugt werden.
|
|
|
+ Die Instanz eines <classname>Zend_Db_Select</classname> Objekts kann mit Hilfe der
|
|
|
+ <code>select()</code> Methode des <classname>Zend_Db_Adapter_Abstract</classname>
|
|
|
+ Objekts erzeugt werden.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.creating.example-db">
|
|
|
@@ -81,8 +83,8 @@ $select = $db->select();
|
|
|
</example>
|
|
|
|
|
|
<para>
|
|
|
- Ein anderer Weg ein <classname>Zend_Db_Select</classname> Objekt zu erzeugen ist die Nutzung des Konstruktors
|
|
|
- unter Angabe des Datenbankadapters als Argument.
|
|
|
+ Ein anderer Weg ein <classname>Zend_Db_Select</classname> Objekt zu erzeugen ist die
|
|
|
+ Nutzung des Konstruktors unter Angabe des Datenbankadapters als Argument.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.creating.example-new">
|
|
|
@@ -129,10 +131,10 @@ $select->order( ...Angabe von Sortierkriterien... );
|
|
|
</example>
|
|
|
|
|
|
<para>
|
|
|
- Die meisten Methoden des <classname>Zend_Db_Select</classname> Objekts lassen sich auch über das bequeme
|
|
|
- Fluent Interface nutzen. Fluent Interface bedeutet das jede Methode eine Referenz auf
|
|
|
- das aufrufende Objekt zurück gibt, daher kann direkt eine andere Methode aufgerufen
|
|
|
- werden.
|
|
|
+ Die meisten Methoden des <classname>Zend_Db_Select</classname> Objekts lassen sich auch
|
|
|
+ über das bequeme Fluent Interface nutzen. Fluent Interface bedeutet das jede Methode
|
|
|
+ eine Referenz auf das aufrufende Objekt zurück gibt, daher kann direkt eine andere
|
|
|
+ Methode aufgerufen werden.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.example-fluent">
|
|
|
@@ -162,8 +164,8 @@ $select = $db->select()
|
|
|
<para>
|
|
|
Um die Tabelle für die Anfrage an zu geben wird die <code>from()</code> Methode
|
|
|
verwendet. Der Tabellenname kann als einfacher String übergeben werden.
|
|
|
- <classname>Zend_Db_Select</classname> wendet Bezeichner Quotierung an, es können also auch spezielle
|
|
|
- Zeichen verwendet werden.
|
|
|
+ <classname>Zend_Db_Select</classname> wendet Bezeichner Quotierung an, es können
|
|
|
+ also auch spezielle Zeichen verwendet werden.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.from.example">
|
|
|
@@ -186,9 +188,9 @@ $select = $db->select()
|
|
|
werden. Anstelle eines einfachen Strings muss dann ein assoziatives Array übergeben
|
|
|
werden, welches den Beziehungsnamen dem tatsächlichen Tabellennamen zuordnet. In
|
|
|
anderen Bedingungen der SQL Anfrage kann dann dieser Beziehungsname verwendet
|
|
|
- werden. Wenn die Anfrage mehr als eine Tabelle verbindet, generiert <classname>Zend_Db_Select</classname>
|
|
|
- eindeutige Beziehungsnamen basierend auf den Tabellennamen, wenn keine
|
|
|
- Beziehungsnamen angegeben wurden.
|
|
|
+ werden. Wenn die Anfrage mehr als eine Tabelle verbindet, generiert
|
|
|
+ <classname>Zend_Db_Select</classname> eindeutige Beziehungsnamen basierend auf den
|
|
|
+ Tabellennamen, wenn keine Beziehungsnamen angegeben wurden.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.from.example-cname">
|
|
|
@@ -209,9 +211,9 @@ $select = $db->select()
|
|
|
<para>
|
|
|
Einige RDBMS Marken unterstützen einen voran stehenden Schemenbezeichner für eine
|
|
|
Tabelle. Der Tabellenname kann mit "<code>schemaName.tabellenName</code>" angegeben
|
|
|
- werden, <classname>Zend_Db_Select</classname> Quotiert die einzelnen Teile für sich. Der Schemaname kann
|
|
|
- aber auch separat angegeben werden. Ein Schemaname, der mit dem Tabellennamen
|
|
|
- angegeben wurde bekommt Vorrang, falls beides angegeben wurde.
|
|
|
+ werden, <classname>Zend_Db_Select</classname> Quotiert die einzelnen Teile für sich.
|
|
|
+ Der Schemaname kann aber auch separat angegeben werden. Ein Schemaname, der mit dem
|
|
|
+ Tabellennamen angegeben wurde bekommt Vorrang, falls beides angegeben wurde.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.from.example-schema">
|
|
|
@@ -262,9 +264,9 @@ $select = $db->select()
|
|
|
|
|
|
<para>
|
|
|
Der Spaltenname kann mit "<code>beziehungsName.spaltenName</code>" angegeben
|
|
|
- werden. <classname>Zend_Db_Select</classname> Quotiert die einzelnen Teile für sich. Wird kein
|
|
|
- Beziehungsname für die Spalte angegeben, dann wird der Beziehungsname der Tabelle
|
|
|
- der aktuellen <code>from()</code> Methode verwendet.
|
|
|
+ werden. <classname>Zend_Db_Select</classname> Quotiert die einzelnen Teile für sich.
|
|
|
+ Wird kein Beziehungsname für die Spalte angegeben, dann wird der Beziehungsname der
|
|
|
+ Tabelle der aktuellen <code>from()</code> Methode verwendet.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.columns.example">
|
|
|
@@ -313,20 +315,21 @@ $select = $db->select()
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Es kann auch ein Objekt des Typs <classname>Zend_Db_Expr</classname> erzeugt werden um zu verhindern das
|
|
|
- ein String wie ein Spaltenname behandelt wird. <classname>Zend_Db_Expr</classname> ist eine Minimalklasse
|
|
|
- die einen String enthält. <classname>Zend_Db_Select</classname> erkennt Objekte des Typs <classname>Zend_Db_Expr</classname> und
|
|
|
- konvertiert diese in Strings, nimmt aber keine Änderungen daran vor, wie Quotierung
|
|
|
- oder Beziehungsnamen.
|
|
|
+ Es kann auch ein Objekt des Typs <classname>Zend_Db_Expr</classname> erzeugt werden
|
|
|
+ um zu verhindern das ein String wie ein Spaltenname behandelt wird.
|
|
|
+ <classname>Zend_Db_Expr</classname> ist eine Minimalklasse die einen String enthält.
|
|
|
+ <classname>Zend_Db_Select</classname> erkennt Objekte des Typs
|
|
|
+ <classname>Zend_Db_Expr</classname> und konvertiert diese in Strings, nimmt aber
|
|
|
+ keine Änderungen daran vor, wie Quotierung oder Beziehungsnamen.
|
|
|
</para>
|
|
|
|
|
|
<note>
|
|
|
|
|
|
<para>
|
|
|
- Benutzung von <classname>Zend_Db_Expr</classname> für Spaltennamen ist nicht nötig wenn Spaltennamen
|
|
|
- Expressions runde Klammern enthalten. <classname>Zend_Db_Select</classname> erkennt diese und
|
|
|
- behandelt den String als eine Expression und lässt Quotierung und
|
|
|
- Beziehungsnamen aus.
|
|
|
+ Benutzung von <classname>Zend_Db_Expr</classname> für Spaltennamen ist nicht
|
|
|
+ nötig wenn Spaltennamen Expressions runde Klammern enthalten.
|
|
|
+ <classname>Zend_Db_Select</classname> erkennt diese und behandelt den String als
|
|
|
+ eine Expression und lässt Quotierung und Beziehungsnamen aus.
|
|
|
</para>
|
|
|
|
|
|
</note>
|
|
|
@@ -369,10 +372,10 @@ $select = $db->select()
|
|
|
</example>
|
|
|
|
|
|
<para>
|
|
|
- In den oben stehenden Fällen ändern <classname>Zend_Db_Select</classname> den String nicht mit
|
|
|
- Beziehungsnamen oder Bezeichnerquotierung. Wenn diese Änderungen notwendig sein
|
|
|
- sollten um doppeldeutigkeiten auf zu lösen, muss dies manuell am String geändert
|
|
|
- werden.
|
|
|
+ In den oben stehenden Fällen ändern <classname>Zend_Db_Select</classname> den String
|
|
|
+ nicht mit Beziehungsnamen oder Bezeichnerquotierung. Wenn diese Änderungen notwendig
|
|
|
+ sein sollten um doppeldeutigkeiten auf zu lösen, muss dies manuell am String
|
|
|
+ geändert werden.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
@@ -423,9 +426,9 @@ $select = $db->select()
|
|
|
Tabelle hinzuzufügen nachdem diese Methoden aufgerufen wurde. Die
|
|
|
<code>columns()</code> Methode erlaubt es spezifische Spalten an jedem Punkt
|
|
|
hinzuzufügen bevor die Abfrage aufgeführt wird. Die Spalte kann entweder als String
|
|
|
- oder <classname>Zend_Db_Expr</classname> oder als Array dieser Elemente angegeben werden. Das
|
|
|
- zweite Argument dieser Methode kann unterdrückt werden, was impliziert das die
|
|
|
- Spalten zu der FROM Tabelle hinzugefügt werden sollen, andernfall muß ein
|
|
|
+ oder <classname>Zend_Db_Expr</classname> oder als Array dieser Elemente angegeben
|
|
|
+ werden. Das zweite Argument dieser Methode kann unterdrückt werden, was impliziert
|
|
|
+ das die Spalten zu der FROM Tabelle hinzugefügt werden sollen, andernfall muß ein
|
|
|
bestehender Korrelationsname verwendet werden.
|
|
|
</para>
|
|
|
|
|
|
@@ -463,9 +466,10 @@ $select = $db->select()
|
|
|
<para>
|
|
|
Viele nützliche Anfragen benötigen ein <code>JOIN</code> um mehrere Spalten
|
|
|
verschiedener Tabellen miteinander zu kombinieren. Tabellen können zu einer
|
|
|
- <classname>Zend_Db_Select</classname> Anfrage mit der <code>join()</code> Methode hinzugefügt werden. Die
|
|
|
- Nutzung dieser Methode ist ähnlich der <code>from()</code> Methode, außer das in
|
|
|
- den meisten Fällen zusätzlich eine Join Bedingung angegeben werden kann.
|
|
|
+ <classname>Zend_Db_Select</classname> Anfrage mit der <code>join()</code> Methode
|
|
|
+ hinzugefügt werden. Die Nutzung dieser Methode ist ähnlich der <code>from()</code>
|
|
|
+ Methode, außer das in den meisten Fällen zusätzlich eine Join Bedingung angegeben
|
|
|
+ werden kann.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.join.example">
|
|
|
@@ -508,8 +512,9 @@ $select = $db->select()
|
|
|
<para>
|
|
|
Das dritte Argument für <code>join()</code> ist ein Array von Spaltennahmen,
|
|
|
entsprechend des Arrays der <code>from()</code> Methode. Der Standard ist ebenfalls
|
|
|
- "<code>*</code>" und unterstützt Beziehungsnamen, Expressions und <classname>Zend_Db_Expr</classname> in
|
|
|
- der gleichen Weise wie dem Array von Spaltennamen der <code>from()</code> Methode.
|
|
|
+ "<code>*</code>" und unterstützt Beziehungsnamen, Expressions und
|
|
|
+ <classname>Zend_Db_Expr</classname> in der gleichen Weise wie dem Array von
|
|
|
+ Spaltennamen der <code>from()</code> Methode.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
@@ -547,7 +552,8 @@ $select = $db->select()
|
|
|
|
|
|
<para>
|
|
|
SQL kennt verschiedene Typen von Joins. In der unten stehen Liste sind Methoden zu
|
|
|
- finden, für die verschiedenen Join Typen die <classname>Zend_Db_Select</classname> unterstützt.
|
|
|
+ finden, für die verschiedenen Join Typen die <classname>Zend_Db_Select</classname>
|
|
|
+ unterstützt.
|
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
@@ -673,7 +679,8 @@ $select = $db->select()
|
|
|
Zusätzlich zu diesen Join Methoden können Abfragen durch Verwendung der JoinUsing
|
|
|
Methoden vereinfacht werden. Statt das eine komplette Definition des Joins
|
|
|
angegeben wird, kann einfach der Spaltenname übergeben werden auf welchem gejoint
|
|
|
- werden soll und das <classname>Zend_Db_Select</classname> Objekt vervollständigt die Bedingung alleine.
|
|
|
+ werden soll und das <classname>Zend_Db_Select</classname> Objekt vervollständigt die
|
|
|
+ Bedingung alleine.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.joinusing.example">
|
|
|
@@ -697,8 +704,8 @@ $select = $db->select()
|
|
|
</example>
|
|
|
|
|
|
<para>
|
|
|
- Jede der anwendbaren Join Methoden in der <classname>Zend_Db_Select</classname> Komponente hat eine
|
|
|
- entsprechende 'using' Methode.
|
|
|
+ Jede der anwendbaren Join Methoden in der <classname>Zend_Db_Select</classname>
|
|
|
+ Komponente hat eine entsprechende 'using' Methode.
|
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
@@ -772,8 +779,9 @@ $select = $db->select()
|
|
|
|
|
|
<para>
|
|
|
Das zweite Argument der <code>where()</code> Methode ist optional. Es ist ein Wert
|
|
|
- der in die Expression eingesetzt wird. <classname>Zend_Db_Select</classname> Quotiert den Wert und ersetzt
|
|
|
- ihn für ein Fragezeichen ("<code>?</code>") in der Expression.
|
|
|
+ der in die Expression eingesetzt wird. <classname>Zend_Db_Select</classname>
|
|
|
+ Quotiert den Wert und ersetzt ihn für ein Fragezeichen ("<code>?</code>") in der
|
|
|
+ Expression.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
@@ -802,9 +810,10 @@ $select = $db->select()
|
|
|
</example>
|
|
|
|
|
|
<para>
|
|
|
- Die <code>where()</code> Methode kann mehrere Male in dem selben <classname>Zend_Db_Select</classname>
|
|
|
- Objekt aufgerufen werden. Die daraus folgenden Anfrage kombiniert die
|
|
|
- unterschiedlichen Ausdrücke unter Benutzung von <code>AND</code> zwischen ihnen.
|
|
|
+ Die <code>where()</code> Methode kann mehrere Male in dem selben
|
|
|
+ <classname>Zend_Db_Select</classname> Objekt aufgerufen werden. Die daraus folgenden
|
|
|
+ Anfrage kombiniert die unterschiedlichen Ausdrücke unter Benutzung von
|
|
|
+ <code>AND</code> zwischen ihnen.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.where.example-and">
|
|
|
@@ -861,10 +870,10 @@ $select = $db->select()
|
|
|
</example>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Db_Select</classname> klammert Expressions automatisch mit runden Klammern ein wenn sie
|
|
|
- mit der <code>where()</code> oder <code>orWhere()</code> Methode angegeben wurden.
|
|
|
- Dies hilft sicher zu stellen dass das voranstellen von Boolean Operatoren keine
|
|
|
- unerwarteten Ergebnisse nach sich zieht.
|
|
|
+ <classname>Zend_Db_Select</classname> klammert Expressions automatisch mit runden
|
|
|
+ Klammern ein wenn sie mit der <code>where()</code> oder <code>orWhere()</code>
|
|
|
+ Methode angegeben wurden. Dies hilft sicher zu stellen dass das voranstellen von
|
|
|
+ Boolean Operatoren keine unerwarteten Ergebnisse nach sich zieht.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.where.example-parens">
|
|
|
@@ -894,9 +903,9 @@ $select = $db->select()
|
|
|
<para>
|
|
|
In dem oben stehenden Beispiel währen die Ergebnisse ohne den Klammern ziemlich
|
|
|
anders, weil <code>AND</code> eine höhere Priorität als <code>OR</code> hat.
|
|
|
- <classname>Zend_Db_Select</classname> erzeugt runde Klammern wodurch jede Expression von aufeinander
|
|
|
- folgenden Aufrufen der <code>where()</code> Methode fester binden als das
|
|
|
- <code>AND</code> welches die Expressions kombiniert.
|
|
|
+ <classname>Zend_Db_Select</classname> erzeugt runde Klammern wodurch jede Expression
|
|
|
+ von aufeinander folgenden Aufrufen der <code>where()</code> Methode fester binden
|
|
|
+ als das <code>AND</code> welches die Expressions kombiniert.
|
|
|
</para>
|
|
|
|
|
|
</sect3>
|
|
|
@@ -912,9 +921,10 @@ $select = $db->select()
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- In <classname>Zend_Db_Select</classname> können diese Spalte(n) mit der <code>group()</code> Methode
|
|
|
- angegeben werden. Das Argument der Methode ist ein Spaltenname oder ein Array von
|
|
|
- Spaltennamen, welche im <code>GROUP BY</code> Abschnitt stehen sollen.
|
|
|
+ In <classname>Zend_Db_Select</classname> können diese Spalte(n) mit der
|
|
|
+ <code>group()</code> Methode angegeben werden. Das Argument der Methode ist ein
|
|
|
+ Spaltenname oder ein Array von Spaltennamen, welche im <code>GROUP BY</code>
|
|
|
+ Abschnitt stehen sollen.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.group.example">
|
|
|
@@ -962,14 +972,15 @@ $select = $db->select()
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- In <classname>Zend_Db_Select</classname> können Bedingungen für die Einschränkung von Gruppen mit der
|
|
|
- <code>having()</code> Methode angegeben werden. Die Nutzung ist ähnlich wie die der
|
|
|
- <code>where()</code> Methode. Das erste Argument ist ein String, welcher eine SQL
|
|
|
- Expression enthält. Das zweite Argument ist optional und wird verwendet um einen
|
|
|
- positionierten Parameter Platzhalter in der SQL Expression zu ersetzen. Expressions
|
|
|
- die durch mehrfaches Aufrufen der <code>having()</code> Methode erzeugt wurden
|
|
|
- werden mit dem Boolean <code>AND</code> Operator verknüpft, oder mit dem
|
|
|
- <code>OR</code> Operator wenn die <code>orHaving()</code> Methode verwendet wird.
|
|
|
+ In <classname>Zend_Db_Select</classname> können Bedingungen für die Einschränkung
|
|
|
+ von Gruppen mit der <code>having()</code> Methode angegeben werden. Die Nutzung ist
|
|
|
+ ähnlich wie die der <code>where()</code> Methode. Das erste Argument ist ein String,
|
|
|
+ welcher eine SQL Expression enthält. Das zweite Argument ist optional und wird
|
|
|
+ verwendet um einen positionierten Parameter Platzhalter in der SQL Expression zu
|
|
|
+ ersetzen. Expressions die durch mehrfaches Aufrufen der <code>having()</code>
|
|
|
+ Methode erzeugt wurden werden mit dem Boolean <code>AND</code> Operator verknüpft,
|
|
|
+ oder mit dem <code>OR</code> Operator wenn die <code>orHaving()</code> Methode
|
|
|
+ verwendet wird.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.having.example">
|
|
|
@@ -1025,11 +1036,11 @@ $select = $db->select()
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- In <classname>Zend_Db_Select</classname> kann die <code>order()</code> Methode verwendet werden um
|
|
|
- Spalten, oder Arrays von Spalten, anzugeben, nach denen sortiert werden soll. Jedes
|
|
|
- Element des Arrays ist ein String, welcher die Spalte benennt. Optional kann auf
|
|
|
- den Namen eines der Schlüsselwörter <code>ASC</code> <code>DESC</code> folgen,
|
|
|
- abgetrennt durch ein Leerzeichen.
|
|
|
+ In <classname>Zend_Db_Select</classname> kann die <code>order()</code> Methode
|
|
|
+ verwendet werden um Spalten, oder Arrays von Spalten, anzugeben, nach denen sortiert
|
|
|
+ werden soll. Jedes Element des Arrays ist ein String, welcher die Spalte benennt.
|
|
|
+ Optional kann auf den Namen eines der Schlüsselwörter <code>ASC</code>
|
|
|
+ <code>DESC</code> folgen, abgetrennt durch ein Leerzeichen.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
@@ -1079,10 +1090,10 @@ $select = $db->select()
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- In <classname>Zend_Db_Select</classname> kann die <code>limit()</code> Methode verwendet werden um die
|
|
|
- Anzahl von Zeilen und die Anzahl der auszulassenden Spalten anzugeben. Das erste
|
|
|
- Argument ist die gewünschte Anzahl von Zeilen. Das zweite Argument gibt die Anzahl
|
|
|
- der auszulassenden Zeilen an.
|
|
|
+ In <classname>Zend_Db_Select</classname> kann die <code>limit()</code> Methode
|
|
|
+ verwendet werden um die Anzahl von Zeilen und die Anzahl der auszulassenden Spalten
|
|
|
+ anzugeben. Das erste Argument ist die gewünschte Anzahl von Zeilen. Das zweite
|
|
|
+ Argument gibt die Anzahl der auszulassenden Zeilen an.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.building.limit.example">
|
|
|
@@ -1108,8 +1119,8 @@ $select = $db->select()
|
|
|
<para>
|
|
|
Die <code>LIMIT</code> Syntax wird nicht von allen RDBMS Marken unterstützt.
|
|
|
Einige RDBMS benötigen eine unterschiedliche Syntax für eine ähnliche
|
|
|
- Funktionalität. Jede <classname>Zend_Db_Adapter_Abstract</classname> Klasse enthält eine Methode um
|
|
|
- für das RDBMS passende Syntax zu erzeugen.
|
|
|
+ Funktionalität. Jede <classname>Zend_Db_Adapter_Abstract</classname> Klasse
|
|
|
+ enthält eine Methode um für das RDBMS passende Syntax zu erzeugen.
|
|
|
</para>
|
|
|
|
|
|
</note>
|
|
|
@@ -1215,15 +1226,17 @@ $select = $db->select()
|
|
|
<title>Ausführen von Select Anfragen aus dem Db Adapter</title>
|
|
|
|
|
|
<para>
|
|
|
- Die Anfrage, die durch das <classname>Zend_Db_Select</classname> Objekt repräsentiert wird kann ausgeführt
|
|
|
- werden, indem sie als erstes Argument an die <code>query()</code> Methode des
|
|
|
- <classname>Zend_Db_Adapter_Abstract</classname> Objekts übergeben wird. Dabei wird das <classname>Zend_Db_Select</classname>
|
|
|
+ Die Anfrage, die durch das <classname>Zend_Db_Select</classname> Objekt
|
|
|
+ repräsentiert wird kann ausgeführt werden, indem sie als erstes Argument an die
|
|
|
+ <code>query()</code> Methode des <classname>Zend_Db_Adapter_Abstract</classname>
|
|
|
+ Objekts übergeben wird. Dabei wird das <classname>Zend_Db_Select</classname>
|
|
|
anstelle eines Strings verwendet.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Die <code>query()</code> Methode gibt ein Objekt vom Typ <classname>Zend_Db_Statement</classname> oder
|
|
|
- PDOStatement zurück, je nachdem welcher Adaptertyp verwendet wird.
|
|
|
+ Die <code>query()</code> Methode gibt ein Objekt vom Typ
|
|
|
+ <classname>Zend_Db_Statement</classname> oder PDOStatement zurück, je nachdem
|
|
|
+ welcher Adaptertyp verwendet wird.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.execute.query-adapter.example">
|
|
|
@@ -1248,9 +1261,10 @@ $result = $stmt->fetchAll();
|
|
|
|
|
|
<para>
|
|
|
Als Alternative zur Nutzung der <code>query()</code> Methode des Adapterobjekts
|
|
|
- kann auch die <code>query()</code> Methode des <classname>Zend_Db_Select</classname> Objekts verwendet
|
|
|
- werden. Beide Methoden geben ein Objekt vom Typ <classname>Zend_Db_Statement</classname> oder PDOStatement
|
|
|
- zurück, je nachdem welcher Adaptertyp verwendet wird.
|
|
|
+ kann auch die <code>query()</code> Methode des <classname>Zend_Db_Select</classname>
|
|
|
+ Objekts verwendet werden. Beide Methoden geben ein Objekt vom Typ
|
|
|
+ <classname>Zend_Db_Statement</classname> oder PDOStatement zurück, je nachdem
|
|
|
+ welcher Adaptertyp verwendet wird.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.execute.query-select.example">
|
|
|
@@ -1275,8 +1289,8 @@ $result = $stmt->fetchAll();
|
|
|
|
|
|
<para>
|
|
|
Wenn Zugriff zu auf eine String Repräsentante der SQL Anfrage, entsprechend dem
|
|
|
- <classname>Zend_Db_Select</classname>, benötigt wird, kann die <code>__toString()</code> Methode verwendet
|
|
|
- werden.
|
|
|
+ <classname>Zend_Db_Select</classname>, benötigt wird, kann die
|
|
|
+ <code>__toString()</code> Methode verwendet werden.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.execute.tostring.example">
|
|
|
@@ -1305,8 +1319,9 @@ echo "$sql\n";
|
|
|
<title>Andere Methoden</title>
|
|
|
|
|
|
<para>
|
|
|
- Dieser Abschnitt beschreibt andere Methoden der <classname>Zend_Db_Select</classname> Klasse, welche bisher
|
|
|
- nicht beschrieben wurden: <code>getPart()</code> und <code>reset()</code>.
|
|
|
+ Dieser Abschnitt beschreibt andere Methoden der <classname>Zend_Db_Select</classname>
|
|
|
+ Klasse, welche bisher nicht beschrieben wurden: <code>getPart()</code> und
|
|
|
+ <code>reset()</code>.
|
|
|
</para>
|
|
|
|
|
|
<sect3 id="zend.db.select.other.get-part">
|
|
|
@@ -1336,9 +1351,9 @@ echo "$sql\n";
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Die <classname>Zend_Db_Select</classname> Klasse definiert Konstanten die für Teile der SQL Anfrage
|
|
|
- verwendet werden können. Es können die Konstantendefinitionen oder die literalen
|
|
|
- Strings verwendet werden.
|
|
|
+ Die <classname>Zend_Db_Select</classname> Klasse definiert Konstanten die für Teile
|
|
|
+ der SQL Anfrage verwendet werden können. Es können die Konstantendefinitionen oder
|
|
|
+ die literalen Strings verwendet werden.
|
|
|
</para>
|
|
|
|
|
|
<table id="zend.db.select.other.get-part.table">
|
|
|
@@ -1449,8 +1464,9 @@ print_r( $orderData );
|
|
|
|
|
|
<para>
|
|
|
Wenn der Parameter ausgelassen wird, setzt <code>reset()</code> alle geänderten
|
|
|
- Teile auf einen Standardwert zurück. Dadurch ist das <classname>Zend_Db_Select</classname> Objekt
|
|
|
- gleichwertig mit einem neuen Objekt, wie wenn es gerade Instanziiert wurde.
|
|
|
+ Teile auf einen Standardwert zurück. Dadurch ist das
|
|
|
+ <classname>Zend_Db_Select</classname> Objekt gleichwertig mit einem neuen Objekt,
|
|
|
+ wie wenn es gerade Instanziiert wurde.
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.db.select.other.reset.example">
|