diff --git a/docs/04_yorm.md b/docs/04_yorm.md
index 6261b6af..9a53d630 100644
--- a/docs/04_yorm.md
+++ b/docs/04_yorm.md
@@ -401,107 +401,113 @@ echo $post->executeForm($yform)
-### collection-Methoden
-
-- delete
-- executeForm
-- filter
-- first
-- getForm
-- getIds
-- getTable
-- getTableName
-- getUniqueValue
-- getValues
-- groupBy
-- isEmpty
-- isValid
-- isValueUnique
-- last
-- map
-- populateRelation
-- save
-- setData
-- setValue
-- shuffle
-- slice
-- sort
-- split
-- toKeyIndex
-- toKeyValue
+Die Klasse `rex_yform_manager_collection` stellt eine Reihe von Methoden zur Verfügung, um mit Sammlungen von Datensätzen zu arbeiten. Hier sind einige der wichtigsten Methoden:
+
+- `chunk()`: Teilt die Sammlung in Chunks einer bestimmten Größe.
+- `delete()`: Löscht alle Datensätze in der Sammlung.
+- `executeForm()`: Führt ein Formular für alle Datensätze in der Sammlung aus.
+- `filter()`: Filtert die Sammlung nach einer bestimmten Bedingung.
+- `first()`: Gibt den ersten Datensatz in der Sammlung zurück.
+- `getForm()`: Gibt ein Formular für die Sammlung zurück.
+- `getIds()`: Gibt die IDs aller Datensätze in der Sammlung zurück.
+- `getTable()`: Gibt die Tabelle zurück, zu der die Sammlung gehört.
+- `getTableName()`: Gibt den Namen der Tabelle zurück, zu der die Sammlung gehört.
+- `getUniqueValue()`: Gibt einen eindeutigen Wert für die Sammlung zurück.
+- `getValues()`: Gibt die Werte aller Datensätze in der Sammlung zurück.
+- `groupBy()`: Gruppiert die Sammlung nach einem bestimmten Feld.
+- `implode()`: Fügt die Werte aller Datensätze in der Sammlung zu einem String zusammen.
+- `isEmpty()`: Überprüft, ob die Sammlung leer ist.
+- `isValid()`: Überprüft, ob alle Datensätze in der Sammlung gültig sind.
+- `isValueUnique()`: Überprüft, ob ein bestimmter Wert in der Sammlung eindeutig ist.
+- `last()`: Gibt den letzten Datensatz in der Sammlung zurück.
+- `map()`: Wendet eine Funktion auf alle Datensätze in der Sammlung an.
+- `populateRelation()`: Füllt ein Relationsfeld für alle Datensätze in der Sammlung.
+- `save()`: Speichert alle Datensätze in der Sammlung.
+- `setData()`: Lädt Daten in alle Datensätze in der Sammlung.
+- `setValue()`: Setzt einen Wert für alle Datensätze in der Sammlung.
+- `shuffle()`: Mischelt die Datensätze in der Sammlung.
+- `slice()`: Gibt einen Teil der Datensätze in der Sammlung zurück.
+- `sort()`: Sortiert die Datensätze in der Sammlung.
+- `split()`: Teilt die Sammlung in zwei Teile
+- `toKeyIndex()`: Gibt die Datensätze in der Sammlung als Array zurück, wobei die IDs der Datensätze als Schlüssel verwendet werden.
+- `toKeyValue()`: Gibt die Datensätze in der Sammlung als Array zurück, wobei die Werte eines bestimmten Feldes als Schlüssel und die Werte eines anderen Feldes als Werte verwendet werden.
### query-Methoden
+Die Klasse `rex_yform_manager_query` stellt eine Reihe von Methoden zur Verfügung, um Abfragen zu erstellen. Hier sind einige der wichtigsten Methoden:
+
- Alias
- - alias
- - getTableAlias
-- count
-- exists (liefert true oder false zurück. Optimal für große Abfragen.)
+ - `alias()`: Setzt den Alias für die Tabelle, auf die sich die Abfrage bezieht.
+ - `getTableAlias()`: Gibt den Alias für die Tabelle, auf die sich die Abfrage bezieht, zurück. Wenn kein Alias gesetzt ist, wird der Tabellenname zurückgegeben.
+- `count()`: Gibt die Anzahl der Datensätze zurück, die von der Abfrage zurückgegeben werden.
+- `exists()`: Überprüft, ob die Abfrage mindestens einen Datensatz zurückgibt. (Optimal für große Abfragen.)
- Find
- - find
- - findId
- - findIds
- - findOne (liefert einen Datensatz als Objekt zurück.)
+ - `find()`: Gibt eine Sammlung (Collection) von Datensätzen zurück, die von der Abfrage zurückgegeben werden.
+ - `findId()`: Gibt die ID des ersten Datensatzes zurück, der von der Abfrage zurückgegeben wird.
+ - `findIds()`: Gibt die IDs aller Datensätze zurück, die von der Abfrage zurückgegeben werden.
+ - `findOne()`: Gibt den ersten Datensatz als Dataset zurück, der von der Abfrage zurückgegeben wird.
- Get
- - get
- - getAll
-- Group By
- - groupBy
- - groupByRaw
- - resetGroupBy
-- Join
- - joinRaw
- - joinRelation
- - joinType
- - joinTypeRelation
- - leftJoin
- - leftJoinRelation
- - resetJoins
-- Limit
- - limit
- - resetLimit
-- Order By
- - orderBy
- - orderByRaw
- - resetOrderBy
-- paginate ([Beispiel](#beispiel-paginate))
+ - `get()`: Gibt eine Sammlung (Collection) von Datensätzen zurück, die von der Abfrage zurückgegeben werden.
+ - `getAll()`: Gibt alle Datensätze zurück, die von der Abfrage zurückgegeben werden.
+- Group By (Entspricht `GROUP BY` in SQL.)
+ - `groupBy()`: Gruppiert die Abfrage nach einem bestimmten Feld.
+ - `groupByRaw()`: Gruppiert die Abfrage nach einem bestimmten Feld, wobei die Feldnamen nicht zitiert werden.
+ - `resetGroupBy()`: Setzt die Gruppierung der Abfrage zurück.
+- Join (Entspricht `JOIN` in SQL)
+ - `join()`: Fügt der Abfrage einen Join hinzu.
+ - `joinRaw()`: Fügt der Abfrage einen Join hinzu, wobei die Feldnamen nicht zitiert werden.
+ - `joinRelation()`: Fügt der Abfrage einen Join hinzu, der auf einem Relationsfeld basiert.
+ - `joinType()`: Setzt den Join-Typ für die Abfrage.
+ - `joinTypeRelation()`: Setzt den Join-Typ für die Abfrage, der auf einem Relationsfeld basiert.
+ - `leftJoin()`: Fügt der Abfrage einen Left Join hinzu.
+ - `leftJoinRelation()`: Fügt der Abfrage einen Left Join hinzu, der auf einem Relationsfeld basiert.
+ - `resetJoins()`: Setzt alle Joins der Abfrage zurück.
+- Limit (Entspricht `LIMIT` in SQL.)
+ - `limit()`: Setzt das Limit für die Abfrage.
+ - `resetLimit()`: Setzt das Limit der Abfrage zurück.
+- Order By (Entspricht `ORDER BY` in SQL.)
+ - `orderBy()`: Setzt die Sortierreihenfolge für die Abfrage.
+ - `orderByRaw()`: Setzt die Sortierreihenfolge für die Abfrage, wobei die Feldnamen nicht zitiert werden.
+ - `resetOrderBy()`: Setzt die Sortierreihenfolge der Abfrage zurück.
+- Paginate ([Beispiel](#beispiel-paginate))
- Query
- - query
- - queryOne
-- save
-- Select
- - resetSelect
- - select
- - selectRaw (lässt individuelle Argumente zu, wie z. B. `CONCAT, SUM`)
+ - `query()`: Führt die Abfrage aus und gibt ein `rex_yform_manager_query` Objekt zurück.
+ - `queryOne()`: Führt die Abfrage aus und gibt ein `rex_yform_manager_query` Objekt für den ersten Datensatz zurück.
+- Save (Entspricht `INSERT` oder `UPDATE` in SQL.)
+ - `save()`: Speichert die Daten, die der Abfrage hinzugefügt wurden.
+- Select (Entspricht `SELECT` in SQL.)
+ - `resetSelect()`: Setzt die Felder zurück, die von der Abfrage zurückgegeben werden.
+ - `select()`: Setzt die Felder, die von der Abfrage zurückgegeben werden.
+ - `selectRaw()`: Setzt die Felder, die von der Abfrage zurückgegeben werden, wobei die Feldnamen nicht zitiert werden. (lässt individuelle Argumente zu, wie z. B. `CONCAT, SUM`)
- Table
- - getTable
- - getTableName
-- Where
- - resetWhere
- - setWhereOperator
- - where
- - whereNot
- - whereNull
- - whereNotNull
- - whereBetween
- - whereNotBetween
- - whereNested
- - whereRaw
- - whereListContains
+ - `getTable()`: Gibt ein `rex_yform_manager_table` Objekt für die Tabelle zurück, auf die sich die Abfrage bezieht.
+ - `getTableName()`: Gibt den Namen der Tabelle zurück, auf die sich die Abfrage bezieht.
+- Where (Entspricht `WHERE` in SQL.)
+ - `resetWhere()`: Setzt die WHERE-Bedingung der Abfrage zurück.
+ - `setWhereOperator()`: Setzt den Operator für die WHERE-Bedingung der Abfrage.
+ - `where()`: Fügt der WHERE-Bedingung der Abfrage eine Bedingung hinzu.
+ - `whereBetween()`: Fügt der WHERE-Bedingung der Abfrage eine Bedingung hinzu, die auf einem Bereich von Werten basiert.
+ - `whereListContains()`: Fügt der WHERE-Bedingung der Abfrage eine Bedingung hinzu, die auf einer Liste von Werten basiert.
+ - `whereNested()`: Fügt der WHERE-Bedingung der Abfrage eine verschachtelte Bedingung hinzu.
+ - `whereNot()`: Fügt der WHERE-Bedingung der Abfrage eine Bedingung hinzu, die auf dem Gegenteil eines Wertes basiert.
+ - `whereNotBetween()`: Fügt der WHERE-Bedingung der Abfrage eine Bedingung hinzu, die auf dem Gegenteil eines Bereichs von Werten basiert.
+ - `whereNull()`: Fügt der WHERE-Bedingung der Abfrage eine Bedingung hinzu, die auf einem NULL-Wert basiert.
+ - `whereNotNull()`: Fügt der WHERE-Bedingung der Abfrage eine Bedingung hinzu, die auf einem nicht NULL-Wert basiert.
+ - `whereRaw()`: Fügt der WHERE-Bedingung der Abfrage eine Bedingung hinzu, wobei die Feldnamen nicht zitiert werden.
+ - `whereListContains()`: Fügt der WHERE-Bedingung der Abfrage eine Bedingung hinzu, die auf einer Liste von Werten basiert.
- Having
- - resetHaving
- - setHavingOperator
- - having
- - havingNot
- - havingNull
- - havingNotNull
- - havingBetween
- - havingNotBetween
- - havingRaw
- - havingListContains
-
+ - `resetHaving()`: Setzt die HAVING-Bedingung der Abfrage zurück.
+ - `setHavingOperator()`: Setzt den Operator für die HAVING-Bedingung der Abfrage.
+ - `having()`: Fügt der HAVING-Bedingung der Abfrage eine Bedingung hinzu.
+ - `havingBetween()`: Fügt der HAVING-Bedingung der Abfrage eine Bedingung hinzu, die auf einem Bereich von Werten basiert.
+ - `havingNotBetween()`: Fügt der HAVING-Bedingung der Abfrage eine Bedingung hinzu, die auf dem Gegenteil eines Bereichs von Werten basiert.
+ - `havingNull()`: Fügt der HAVING-Bedingung der Abfrage eine Bedingung hinzu, die auf einem NULL-Wert basiert.
+ - `havingNotNull()`: Fügt der HAVING-Bedingung der Abfrage eine Bedingung hinzu, die auf einem nicht NULL-Wert basiert.
+ - `havingRaw()`: Fügt der HAVING-Bedingung der Abfrage eine Bedingung hinzu, wobei die Feldnamen nicht zitiert werden.
+ - `havingListContains()`: Fügt der HAVING-Bedingung der Abfrage eine Bedingung hinzu, die auf einer Liste von Werten basiert.
+
Beispiel für whereListContains
```php
@@ -514,39 +520,31 @@ $query->whereListContains('my_column', 'my_value');
$query->whereListContains('my_column', [3, 5, 9]);
```
-Beispiel für resetSelect()
-
-// resetSelect() ermöglicht es im Anschluss per select nur die Felder des Datensatzes zu erhalten, die man wirklich benötigt.
-
-```php
-$dataset = rex_yform_manager_query::get('rex_yf_example')
- ->resetSelect()
- ->select('id')
- ->select('title')
- ->select('name')
- ->findId($id);
-```
-
### dataset-Methoden
-- create
-- get
-- getAll
-- getData (liefert Felder als Array zurück)
-- getForm (liefert Formular zurück - EXPERIMENTELL!)
-- getId
-- getMessages
-- getRaw
-- getRelatedCollection
-- getRelatedDataset
-- getTable
-- getTableName
-- getValue
-- hasValue
-- isValid
-- loadData
+Die Klasse `rex_yform_manager_dataset` stellt eine Reihe von Methoden zur Verfügung, um mit Datensätzen zu arbeiten. Hier sind einige der wichtigsten Methoden:
+
+- `create($table)`: Erstellt einen neuen Datensatz und gibt ein `rex_yform_manager_dataset` Objekt für diesen Datensatz zurück. Zum Speichern `save()` aufrufen.
+- `get($table, $id)`: Gibt ein `rex_yform_manager_dataset` Objekt für den Datensatz mit der angegebenen ID in der angegebenen Tabelle zurück.
+- `getAll($table, $where = null, array $orderBy = [])`: Gibt alle Datensätze in der angegebenen Tabelle als Array von `rex_yform_manager_dataset` Objekten zurück. Optional kann eine WHERE-Bedingung und eine Sortierreihenfolge angegeben werden.
+- `getData()`: Gibt die Daten des aktuellen Datensatzes als assoziatives Array zurück.
+- `getForm()`: Gibt ein YForm-Formular für den aktuellen Datensatz zurück. (EXPERIMENTELL)
+- `getId()`: Gibt die ID des aktuellen Datensatzes zurück.
+- `getMessages()`: Gibt eine Liste der Fehlermeldungen zurück, die beim letzten Speichern des aktuellen Datensatzes aufgetreten sind.
+- `getRaw()`: Gibt die Rohdaten des aktuellen Datensatzes als assoziatives Array zurück.
+- `getRelatedCollection($field)`: Gibt eine `rex_yform_manager_collection` aller Datensätze zurück, die mit dem aktuellen Datensatz über das angegebene Relationsfeld verknüpft sind.
+- `getRelatedDataset($field)`: Gibt ein `rex_yform_manager_dataset` Objekt für den Datensatz zurück, der mit dem aktuellen Datensatz über das angegebene Relationsfeld verknüpft ist.
+- `getTable()`: Gibt ein `rex_yform_manager_table` Objekt für die Tabelle zurück, zu der der aktuelle Datensatz gehört.
+- `getTableName()`: Gibt den Namen der Tabelle zurück, zu der der aktuelle Datensatz gehört.
+- `getValue($field)`: Gibt den Wert eines Feldes im aktuellen Datensatz zurück.
+- `hasValue($field)`: Überprüft, ob ein Feld im aktuellen Datensatz einen Wert hat.
+- `setValue($field, $value)`: Setzt den Wert eines Feldes im aktuellen Datensatz.
+- `isValid()`: Überprüft, ob der aktuelle Datensatz gültig ist.
+- `loadData($data)`: Lädt Daten in den aktuellen Datensatz.
+- `delete()`: Löscht den aktuellen Datensatz.
+- `save()`: Speichert Änderungen am aktuellen Datensatz.
@@ -585,7 +583,6 @@ Datei `/redaxo/src/addons/yform/plugins/manager/lib/yform/manager/dataset.php` u
-
### Dataset als YForm-Formular editieren / absenden
```php