[TYPO3-german] extbase: query->matching Fehlerhafte SQL-Query

Dirk Wenzel wenzel at webfox03.de
Sat Jan 5 12:15:09 CET 2013


Hi Markus,
wo der Fehler liegt, kann ich auf die Schnelle nicht sagen. Aber vll. eine Alternative:

Du könntest die 'magische' Methode $repository->countByProperty($value) verwenden.
In Deinem Beispiel countByNumber($value).

Einen hilfreichen Artikel zur Verwendung von Queries findest Du unter: http://blog.typoplanet.de/2010/01/27/the-repository-and-query-object-of-extbase/

Du könntest auch nach dem gewünschten Attribut sortieren (absteigend) und das Ergebnis auf einen Datensatz limitieren. 
$query->setOrderings(array('number' => Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING));
$query->setLimit(1);

Herzliche Grüße
Dirk

Am 04.01.2013 um 15:42 schrieb Markus Slaby:

> Hallo zusammen,
> 
> ich wurschtel mich so langsam in extbase rein.
> 
> In einem Repository wollte ich nun eine eigene query erstellen:
> 
> public function nextOfferNumber(){
> 	$query = $this->createQuery();
> 	$query->matching(
> 		$query->equals('number', 2)
> 	);
> 	return $query->count();
> }
> 
> Als SQL erhalte ich dann:
> SELECT COUNT(*) FROM tx_msmordermanagement_domain_model_offer WHERE tx_msmordermanagement_domain_model_offer.number = ? AND ...
> 
> Der Rest der SQL-Anweisung sieht richtig aus und ist das übliche mit starttime, endtime, deleted usw...
> 
> Ansich wird ja die WHERE-Anweisung richtig formuliert nur der $operand wird nicht übernommen sondern immer nur als ? ausgegeben. Ich habe dies mit verschiedensten operanden und Vergleichsfunktionen getestet.
> 
> Hat jemand eine Idee wo der Fehler liegt?
> 
> Danke
> Markus
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list