ProcessWire - RockFinder (Module)

Aus Wikizone
Wechseln zu: Navigation, Suche

RockFinder Einführung

RockFinder vereinfacht das Erstellen von komplexen SQL Statements. Damit lassen sich einfacher komplexe und effektive Datenbankabfragen erzeugen.

Normale ProcessWire Selektoren mit $pages->find()haben den Nachteil, dass sie sehr viel Speicher benötigen und langsam sind. Es gibt noch die Funktion findMany() die deutlich effektiver ist aber denoch die Seitenergebnisse in den Speicher lädt (wenn auch nicht alle auf einmal) in manchen Fällen möchte man lieber direkt SQL-Statements ausführen. Das bringt gerade bei komplexen Joins und großen Datenbeständen viel Performance. RockFinder erzeugt im Prinzip aus einfachen Selektoren komplexe SQL Statements. Außerdem bringt RockFinder auch bei der Rückgabe wieder page Objekte, so dass man sich hier viel Arbeit spart.

Statements lassen sich im Backend testen.

Links

https://processwire.com/talk/topic/19226-rockfinder-highly-efficient-and-flexible-sql-finder-module/
https://modules.processwire.com/modules/rock-finder/
https://github.com/BernhardBaumrock/RockFinder


RockGrid

RockGrid ist der Companion zu RockFinder und ist im Prinzip ein Listing Modul für das Backend.

Beispiele

Basic Usage

$finder = new RockFinder('template=invoice, limit=3',['value','date'];
$finder->getObjects();
d($finder->getObjects()); // ausgabe mit debbuger funktion d

SQL Statement generieren

$finder = new \ProcessWire\RockFinder('id>0, limit=5', ['title', 'status']);
return $finder->getSQL();