Repository Methoden

Ein Repository, welches die \TYPO3\CMS\Extbase\Persistence\Repository erbt kann bereits einige Methoden, welche wir nicht nochmals schreiben müssen. Viele Abfragen lassen sich bereits einfach erzeugen.

findAll()
Die findAll()-Methode gibt alle Datensätze als Objekte in einem Array zurück.

findByEigenschaft(Wert)
Mit dem Zusatz By“Eigenschaft“(Wert) erhalten wir alle Objekte, bei welchen die Eigenschaft dem Wert entspricht. Wir haben eine Aufgabenliste und möchten nur die Datensätze auslesen, wo die Erledigt-Eigenschaft auf erledigt gesetzt wurde. Dann wäre die Methode: findAllByDone(true).

findByUid($uid)
Das gleiche wie bei der vorigen Methode. Wir möchten nur einen Datensatz, bei dem die Uid mit dem Wert übereinstimmt. Bsp.: findByUid(3).

findOneByEigenschaft(Wert)
Hier erhalten wir nur den ersten Datensatz im Gegensatz zur oberen Methode findByEigenschaft(Wert) zurück.

countAll()
Mittels der countAll()-Methode erhalten wir die gesamte Anzahl an Datensätzen.

countAllByEigenschaft(Wert)
Auch hier gibt es gleich wie bei den find..-Methoden die Möglichkeit die Anzahl an Datensätzen anhand von einer Bedingung auszulesen.

add(Objekt)
Mittels der add(Objekt)-Methode können wir einen neuen Datensatz in der Datenbanktabelle speichern.
Beispiel: http://www.extbasefluid.com/extbase/add/

update(Objekt)
Einen bestehenden Datensatz lässt sich mit der update(Objekt)-Methode aktualisieren.
Beispiel: http://www.extbasefluid.com/extbase/update/

replace(Objekt)
Mit der replace(altesObjekt, neuesObjekt) lässt sich ein bestehender Datensatz in der Datenbanktabelle aktualisieren.
Beispiel: http://www.extbasefluid.com/extbase/replace/

remove(Objekt)
Einen Datensatz kann man mittels der remove(Objekt)-Methode löschen.
Beispiel: http://www.extbasefluid.com/extbase/remove/

removeAll()
Zudem ist es auch möglich alle Datensätze aus der Datenbanktabelle zu löschen.
Beispiel: http://www.extbasefluid.com/extbase/remove/

Hast du einen Fehler gefunden? Schreibe an: http://www.extbasefluid.com/anfrage/
comments powered by Disqus