Difference between revisions of "QueryBuilder"

From A-Eskwiki
Jump to: navigation, search
Line 6: Line 6:
 
Omdat je een query altijd wilt gebruiken voor WhosWho4-objecten heeft elk WhosWho4-object zijn eigen query-classe die een uitbreiding is van de Query-klasse. Zo heb je bv de PersoonQuery-klasse en de LidQuery-klasse. Deze extensies hebben niet hun eigen speciale constructor, in plaats daarvan heeft elk van deze klassen de methode table waarmee een Query-klasse wordt aangemaakt, het object als table bij de query wordt gezet en het ObjectQuery-object wordt gereturnd zodat er meteen methoden op kunnen worden toegepast. Een voorbeeld:
 
Omdat je een query altijd wilt gebruiken voor WhosWho4-objecten heeft elk WhosWho4-object zijn eigen query-classe die een uitbreiding is van de Query-klasse. Zo heb je bv de PersoonQuery-klasse en de LidQuery-klasse. Deze extensies hebben niet hun eigen speciale constructor, in plaats daarvan heeft elk van deze klassen de methode table waarmee een Query-klasse wordt aangemaakt, het object als table bij de query wordt gezet en het ObjectQuery-object wordt gereturnd zodat er meteen methoden op kunnen worden toegepast. Een voorbeeld:
 
  $query = PersoonQuery::table();
 
  $query = PersoonQuery::table();
 +
 +
<syntaxhighlight lang="python" line='line'>
 +
def quickSort(arr):
 +
less = []
 +
pivotList = []
 +
more = []
 +
if len(arr) <= 1:
 +
return arr
 +
else:
 +
pass
 +
</syntaxhighlight>
  
 
[[Category:WebCie]]
 
[[Category:WebCie]]

Revision as of 15:40, 28 February 2017

Om SQL-queries makkelijker te maken heeft de WebCie haar eigen sql-library geschreven, de QueryBuilder. De QueryBuilder maakt queries op dmv van een QueryBuilder-object waaraan properties veranderd worden. Op die manier wordt de query pas gebouwd als de query uitgevoerd moet worden. Hierdoor is er meer mogelijkheid voor controle en sanity checks.

De QueryBuilder bestaat uit de Query-klasse, de QueryBuilder-klasse en alle uitbreidingen. De Query-klasse is een extensie van de QueryBuilder-klasse. Het verschil tussen de twee klasses is dat de QueryBuilder-klasse wordt gebruikt om de query op te bouwen en de Query-klasse wordt gebruikt om van het geheel een werkende query te maken, alsmede verschillende functies zoals het verzamelen van objecten te implementeren.

QueryBuilder starten

Omdat je een query altijd wilt gebruiken voor WhosWho4-objecten heeft elk WhosWho4-object zijn eigen query-classe die een uitbreiding is van de Query-klasse. Zo heb je bv de PersoonQuery-klasse en de LidQuery-klasse. Deze extensies hebben niet hun eigen speciale constructor, in plaats daarvan heeft elk van deze klassen de methode table waarmee een Query-klasse wordt aangemaakt, het object als table bij de query wordt gezet en het ObjectQuery-object wordt gereturnd zodat er meteen methoden op kunnen worden toegepast. Een voorbeeld:

$query = PersoonQuery::table();
  1. def quickSort(arr):
  2. 	less = []
  3. 	pivotList = []
  4. 	more = []
  5. 	if len(arr) <= 1:
  6. 		return arr
  7. 	else:
  8. 		pass