Zum Inhalt springen

Eigene findBy Methode mit string als Parameter

Erstellt am 30. Dezember 2014 · 5 Antworten · letzte Antwort am 7. Januar 2015

Tags: Frage

Halion ·

Hallo liebe Typo3 Gemeinde,

ich habe eine Extension gebaut und würde nun gerne das in einem Suchfeld eine Freitext Suche nach einem Attribut des Datensatzes/Objekt gesucht werden kann.

Dafür würde ich gerne eine eigene findBy Metode verwenden, in der gezielt nach diesem Parameter gesucht werden kann.

Leider endet mein Ergebnis im QueryResult mit var_dump immer mit dem Fehler:
private 'warning' => string 'You should never see this warning. If you do, you probably used PHP array functions like current() on the Tx_Extbase_Persistence_QueryResult.

Ich würde gerne auf Magic methods verzichten damit ich das auch für komplexere Methoden selber schreiben kann.

Meine "findBy" Methode habe ich folgend geschrieben:

public function findTheName($name)
	{
		echo 'inside func findTheName';
		if (!is_array($name)) {
		    $name = (array)$name;
		}
		$query = $this->createQuery();
		$result = $query->matching($query->equals('virtual_name', $name))->execute();
                var_dump($result);
		return $result;
	}

Das Attribut/Feld "virtual_name" ist vom Typ "@var string" im Model.

Wäre super wenn mir jemand einen Tipp geben könnte!

Viele Grüße
Halion

toifel ·

Die Meldung hat nichts mit den Parametern zu tun.. bezieht sich auf deinen "var_dump", da du ein geschütztes Objekt dumpst.

Alle Extbase-Objekte immer mit dem dazugehörigen Debugger ausgeben.. sieht auch schöner aus 😉 Und einen var_dump hat der Debugger auch:

\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($var);

Halion ·

Ich verwende hier Typo3 4.5.25, kann es sein das es in dieser Version das DebuggerUtility nicht zur Verfügung steht?

Denn ich bekomme die Fehlermeldung: Fatal error: Class 'Tx_Extbase_Utility_Debugger' not found ...

Gruß
Halion