[TYPO3-german] Extbase: query-Problem

Stefan Padberg post at bergische-webschmiede.de
Sun Sep 7 22:55:42 CEST 2014


Ich habe hier einen merkwürdigen Effekt. In einem Repository wird eine 
query abgesetzt. Folgendes geht:

/**
  * Find by searchword
  *
  * @param  string $searchword searchword
  *
  * @return \TYPO3\CMS\Extbase\Persistence\Generic\QueryResult
  */
public function findBySearchword($searchword) {
$query = $this->createQuery();
$query->statement(
	'SELECT * FROM tx_myext_domain_model_mymodel
	WHERE (
		name LIKE "%' . $searchword . '%"
		OR shortname LIKE "%' . $searchword . '%"
	)
	AND hidden=0
	AND deleted=0
	AND ( starttime = 0 OR starttime >= currentTimestamp )
	AND ( endtime = 0 OR endtime < currentTimestamp )'
);
return $query->execute();




Folgendes liefert kein Ergebnis:

/**
  * Find by searchword
  *
  * @param  string $searchword searchword
  *
  * @return \TYPO3\CMS\Extbase\Persistence\Generic\QueryResult
  */
public function findBySearchword($searchword) {

$query = $this->createQuery();

$searchwordString = '"%' . $searchword . '%"';
		
$constraints[] = $query->like('name', $searchwordString);
$constraints[] = $query->like('shortname', $searchwordString);
		
$query->matching( $query->logicalOr($constraints) );
return $query->execute();
}

Es sollte beides eigentlich das gleiche machen, so weit ich es 
verstanden habe.

Liegt da ein Syntaxfehler vor?

Beste Grüße
Stefan

--
Bergische Webschmiede
Typo3 Dienstleistungen
:: Dipl.-Ing. Stefan Padberg
:: www.bergische-webschmiede.de

---
Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz ist aktiv.
http://www.avast.com



More information about the TYPO3-german mailing list