[TYPO3-mvc] type-Exception bei eigener findAll-Methode

Christian Essl essl at incert.at
Thu Sep 29 12:11:17 CEST 2011


Hallo,

Ich möchte ganz einfach für mein Repository eine findAll-Methode basteln, die auch versteckte Felder anzeigt. Dazu habe ich mir die findAll-Methode kopiert und eine weitere Zeile eingebaut, die diese Settings zurücksetzt:

                /**
                * Returns all objects of this repository + hidden ones
                *
                * @return array An array of objects, empty if no objects found
                * @api
                */
                public function findAllAndHidden() {
                               $result = $this->createQuery();
                               $result->getQuerySettings()->setRespectEnableFields(false);
                               $result->execute();
                               return $result;
                }

Nun wirft mir TYPO3 eine Exception bei der Ausgabe, dass der Typ der Ausgabe offenbar nicht stimmt:
The argument "each" was registered with type "array", but is of type "object" in view helper "Tx_Fluid_ViewHelpers_ForViewHelper"

Nun  habe ich nachgeforscht, welcher Code-Teil dieses Type-Problem auslöst und bin darauf gestoßen, dass:
$result = $this->createQuery()->execute();

aus der Original-Methode keine Probleme bereitet, sobald ich diese Kurzform aber in 2 Teile teile:
                $result = $this->createQuery();
$result->execute();

tritt das Problem mit der Type-Exception plötzlich auf. Ich versteh die Welt nicht mehr. Was ist zwischen den beiden Code-Beispielen der Unterschied? Eigentlich sollte die obige, funktionierende Form doch nur eine Kurzform von der unteren sein?

Mit freundlichen Grüßen,

Christian Eßl
Certified TYPO3 Integrator / Mobile Web Developer

INCERT eBusiness
Leonfeldnerstrasse 328
A-4040 Linz
W: www.incert.at



More information about the TYPO3-project-typo3v4mvc mailing list