Ich mag die Objekte eines Endlager bekommen, aber ich habe nächsten FehlerFatal error: Call auf eine Elementfunktion findAll() auf null in TYPO3
Call to a member function findAll() on null
Die Fehlerzeile ist $projects = $this->projectRepository->findAll();
zuerst verwendet der Objektmanager, um das Repository zu bekommen, hat es nicht funktioniert. Die aktuelle Konfiguration ist: Kontroller
/**
*projectRepository
*
* @var \VENDOR\MyExtName\Domain\Repository\ProjectRepository
* @inject
*/
protected $projectRepository = null;
Und Repository
class ProjectRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
{
public function createQuery() {
$query = parent::createQuery();
$query->getQuerySettings()->setRespectStoragePage(FALSE);
return $query;
}
}
Dies geschieht auch mit findByUid($uid)
Die Objekte im DB und sichtbar in BE existiert.
Ich säuberte die Caches, löschte den Inhalt des typo3temp Verzeichnisses und folgte den Fragen über einen ähnlichen Fehler (der ich dachte) Call to a member function findAll() on a non-object
, aber es hat nicht funktioniert und die Ausnahme, die ich habe, ist anders.
ich Ihre Hilfe schätzen, bitte leite mich diesen Fehler
Nun, das '$ this- schlägt> projectRepository' ist nicht das, was Sie denken, es ist. Dump es aus und werfen Sie einen Blick. Angenommen, Ihre Protokolle zeigen einen anderen Fehler, den Sie betrachten müssen. Wie Ihr Autoloader schlägt fehl oder Sie haben einen Tippfehler in den Metadaten auf diesen c Stil Kommentare. – ficuscr
Oder versuchen Sie einfach, eine Instanz Ihres Repositorys wie folgt in Ihrer Indexaktion zu erstellen: '$ test = new \ VENDOR \ MyExtName \ Domäne \ Repository \ ProjectRepository();' und wenn das fehlschlägt, haben Sie mehr Informationen, was falsch ist. – Wolfgang
Ich benutzte 'var_dump' für das Attribut print vor der Verwendung' findAll() 'Anweisung, und sah die richtige Instanz meines Repository –