-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
YOrm Erläuterungen zu Collection-, Query- und Dataset-Methoden #1459
base: master
Are you sure you want to change the base?
Conversation
@gharlan Copilot hat mir noch einige mehr Methoden vorgeschlagen, die ich allerdings nicht auf ihr Vorhandensein oder auf Halluzinationen überprüft habe. Bitte gerne nochmal auf sachliche Richtigkeit überprüfen. Ich habe jeden Satz inhaltlich mit meinem Wissen überprüft, erkannte Fehler korrigiert - mir sind keine weiteren Fehler aufgefallen. |
- `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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Der Satz klingt für mich, als würde die Methode eine Art Hash für die gesamte Sammlung liefern.
Tatsächlich übergibt man aber einen Feldnamen an die Methode, und die Methode prüft dann, ob der Wert in dem Feld bei allen Elementen der Sammlung gleich ist. Wenn ja, wird der Wert geliefert, ansonsten null.
Selbst benötigt man die Methode eher nicht. Sie wird genutzt, wenn man mehrere Datensätze gleichzeitig bearbeitet. Für die Entscheidung, ob in dem jeweiligen Formularfeld ein Wert initial gesetzt wird (weil für alle Datensätze gleich) oder ob das Feld leer gelassen wird (weil unterschiedliche Werte).
Weiß nicht, wie man es in einem Satz besser beschreiben kann.
- `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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Die Methode gehört mit zu getUniqueValue
(siehe oben, wird intern in getUniqueValue genutzt für den Check). Die Beschreibung hier passt aber denke ich so.
- `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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Zu einem bestimmten Key. Also die Werte eine Spalte.
- `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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Das passt nicht, glaube ich. Man tauscht damit eher die Datensätze in der Sammlung aus. Man hat danach also eine Collection mit den an setData übergebenen Datensätzen. Die vorherigen Datensätze bleiben unberührt, sind nur nicht mehr in dem Collection-Objekt.
(Ist mehr eine interne Methode)
- `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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nicht in zwei Teile, sondern in die gewünschte Anzahl. split(5) würde also 5 Teile liefern.
- `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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gibt es in der Query-Klasse nicht.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `save()`: Speichert die Daten, die der Abfrage hinzugefügt wurden. |
- `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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also wie die where-Bedingungen verknüpft werden (AND oder OR).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `setWhereOperator()`: Setzt den Operator für die WHERE-Bedingung der Abfrage. | |
- `setWhereOperator()`: Setzt den Operator für die WHERE-Bedingung der Abfrage. (AND oder OR) |
|
||
- `create($table, array $data = [])`: Erstellt einen neuen Datensatz in der angegebenen Tabelle und gibt ein `rex_yform_manager_dataset` Objekt für diesen Datensatz zurück. | ||
- `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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nicht als Array, sondern als Collection-Objekt.
Where und Sortierung können nicht angegeben werden.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `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. | |
- `getAll($table, $where = null, array $orderBy = [])`: Gibt alle Datensätze in der angegebenen Tabelle als Collection an `rex_yform_manager_dataset` Objekten zurück. Optional kann eine WHERE-Bedingung und eine Sortierreihenfolge angegeben werden. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bleiben noch die falschen Params..
- `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. | |
- `getAll($table)`: Gibt alle Datensätze in der angegebenen Tabelle als Collection an `rex_yform_manager_dataset` Objekten 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Das passt nicht. Die Methode ist ähnlich wie get($id)
, liefert also ein Dataset-Objekt.
Aber anders als get() ruft getRaw den Datensatz noch gar nicht ab, und prüft auch nicht, ob die ID überhaupt existiert.
Wird mehr für interne Zwecke benötigt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bzw. man kann es auch nutzen, um einem neuen Datensatz eine fixe ID zu vergeben. Also ::getRaw($id)
statt ::create()
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Co-authored-by: Gregor Harlan <[email protected]>
No description provided.