[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