Call to a member function findAll()

  • shooby shooby
    T3PO
    0 x
    24 Beiträge
    0 Hilfreiche Beiträge
    05. 08. 2011, 16:42

    Hallo Comunity,

    ich habe ein Projekt mit Extbase aufgesetzt und habe ein Objekt (Department), das Aggregate Root ist und ein Entity. Über ein Fluid Formular habe ich auch neue Objekte anlegen können, die nun auch in der DB gespeichert wurden.

    Dieses Objekt steht in Relation zu einem Anderen (Audit).

    Wie kann ich nun ein neues Audit anlegen und per f:form.select die angelegten Department Objekte anzeigen lassen?

    View:

    1. <f:form.select property="department" options="{departments}" optionLabelField="name"><select><option>dummy</option></select></f:form.select>

    Controller:

    1. public function newAction(Tx_Kmaudit_Domain_Model_Audit $newAudit = NULL) {
    2. if ($newAudit == NULL) { // workaround for fluid bug ##5636
    3. $newAudit = t3lib_div::makeInstance('Tx_Kmaudit_Domain_Model_Audit');
    4. }
    5. $departments = $this->departmentRepository->findAll();
    6. $this->view->assign('departments', $departments);
    7. $this->view->assign('newAudit', $newAudit);
    8. }

    Leider bekomme ich nun einen Fehler ausgegeben, wenn ich die View lade:
    Fatal error: Call to a member function findAll() on a non-object in C:\xampp\htdocs\kmaudit\typo3conf\ext\kmaudit\Classes\Controller\AuditController.php on line 65

    Ich versteht nicht ganz warum. Ein Objekt Audit kann ich ohne Probleme in die View übergeben.

    Hat jemand Ideen?

    Danke!! #angry#


  • 1
  • 0 x
    24 Beiträge
    0 Hilfreiche Beiträge
    06. 08. 2011, 13:41

    hallo shooby,

    Da du das departmentRepository im ActionController aufruft, musst Du natürlich auch instanziieren.

    Gruss Dirk

  • shooby shooby
    T3PO
    0 x
    24 Beiträge
    0 Hilfreiche Beiträge
    08. 08. 2011, 14:20

    hallo Dirk,

    sowat hatte ich auch vermutet :D . Nur, was muss ich denn genau, wie instanziieren? Das Rep von Department? Oder den Controller? Oder das Objekt? Ich weiß, das sind Anfängerfehler/fragen, aber deswegen poste ich das auch in diesem Forum :)

    Danke schon mal

    Gruß Matthias

  • shooby shooby
    T3PO
    0 x
    24 Beiträge
    0 Hilfreiche Beiträge
    08. 08. 2011, 14:30

    habs!!

    1. $departmentRepo = new Tx_Kmaudit_Domain_Repository_DepartmentRepository();
    2. $departments = $departmentRepo->findAll();
    3. $this->view->assign('departments', $departments);

    Danke, Dirk!

  • mchenzi mchenzi
    Jedi-Meister
    0 x
    317 Beiträge
    0 Hilfreiche Beiträge
    25. 10. 2016, 10:48

    Hallo . das ist schon so alt. Geht das noch genauso?
    Bei mir funktioniert das nicht so .

  • Basti4k Basti4k
    Sternenflotten-Admiral
    0 x
    181 Beiträge
    2 Hilfreiche Beiträge
    31. 07. 2017, 13:39

    wenn ich mit dem Extension_Builder eine simple List/Show PlugIn Extension erstelle, dann erhalte ich den Fehler auch:
    Call to a member function findAll() on null

    Error thrown in file
    /html/typo3/typo3conf/ext/reference/Classes/Controller/ReferenceController.php in line 27.

    public function listAction()
    {
    $references = $this->referenceRepository->findAll();
    $this->view->assign('references', $references);
    }

    TYPO3 - TIPS - ANLEITUNGEN - NEWS unter: http://www.typo3-probleme.de/
    Firma: TYPO3 - Internet-Agentur - Frankfurt und Wiesbaden -> http://www.ingeniumdesign.de

  • 1