Hallo,
ich versuche seit einiger Zeit eine Art Such- / Selektierungsfunktion für meine Extension zu schreiben. Wenn ich nur einen Suchparameter habe, funktioniert das auch super. Aber wenn ich mehr Parameter (Suchfelder) nutzen möchte, bekomme ich immer nur eine T3-Fehlermeldung
The argument type for parameter $firstname of method ....\...\Controller\DatamanagementController->findByResultAction() could not be detected.
Controller Konfig.
/**
* action findByResult
* @param string $firstname
* @param string $lastname
* @param string $city
* @return void
*/
public function findByResultAction($firstname, $lastname, $city) {
$firstname = $this->request->getArgument('firstname');
$lastname = $this->request->getArgument('lastname');
$city = $this->request->getArgument('city');
$findResult = $this->datamanagementRepository->findByCondition($firstname, $lastname, $city);
$this->view->assign('datamanagement', $datamanagement);
}
Repository Konfig. ...
public function findByCondition($firstname, $lastname, $city) {
$query = $this->createQuery();
$query->matching(
$query->logicalAnd(
$query->like('firstname', '%'. $firstname . '%'),
$query->like('lastname', '%'. $lastname . '%'),
$query->like('city', '%'. $city . '%'.)
)
);
$query->setOrderings(array('name' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING));
return $query->execute();
}
Hier noch das Formular dazu ...
<f:form action="findByResultForm" additionalAttributes="{role:'form'}">
<div class="form-inline search-view">
<div class="form-group">
Vorname: <f:form.textfield name="firstname" value="{firstname}" class="form-control" placeholder="Vorname eingeben" />
Nachname: <f:form.textfield name="lastname" value="{lastname}" class="form-control" placeholder="Nachname eingeben" />
Stadt: <f:form.textfield name="city" value="{city}" class="form-control" placeholder="Stadt eingeben" />
<f:form.submit value="Suchen!" class="btn-xs btn-primary" />
</div>
</div>
</f:form>
Was mache ich denn nur falsch? Kann mir hier jemand einen Tipp geben?
Herzlichen Dank und beste Grüße