Je veux obtenir les objets d'un référentiel, mais je prochaine erreurErreur fatale: appel à une fonction de membre findAll() sur null dans TYPO3
Call to a member function findAll() on null
La ligne d'erreur est $projects = $this->projectRepository->findAll();
D'abord utilisé le gestionnaire d'objets pour obtenir le référentiel, cela n'a pas fonctionné. La configuration actuelle est: Dans contrôleur
/**
*projectRepository
*
* @var \VENDOR\MyExtName\Domain\Repository\ProjectRepository
* @inject
*/
protected $projectRepository = null;
et dépôt
class ProjectRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
{
public function createQuery() {
$query = parent::createQuery();
$query->getQuerySettings()->setRespectStoragePage(FALSE);
return $query;
}
}
Cela se produit également avec findByUid($uid)
Les objets existent dans DB et visible dans Bé.
J'ai nettoyé les caches, supprimé le contenu du répertoire typo3temp et suivi les questions sur une erreur similaire (que je pensais) Call to a member function findAll() on a non-object
, mais cela n'a pas fonctionné et l'exception que j'ai est différent.
Je vous remercie de votre aide, s'il vous plaît me guider pour corriger cette erreur
Bien que suggère '$ this-> projectRepository' est pas ce que vous pensez qu'il est. Déchargez-le et jetez un coup d'oeil. Supposons que vos journaux montrent une autre erreur que vous devez regarder. Comme votre autochargeur est en panne ou vous avez une faute de frappe dans les métadonnées sur ces commentaires de style c. – ficuscr
Ou essayez simplement de créer une instance de votre dépôt comme ceci dans votre action d'index: '$ test = new \ VENDEUR \ MyExtName \ Domain \ Repository \ ProjectRepository();' et si cela échoue, vous aurez plus d'informations sur ce qui ne va pas. – Wolfgang
J'ai utilisé 'var_dump' pour l'attribut print avant d'utiliser l'instruction' findAll() ', et j'ai vu l'instance correcte de mon dépôt –