Zum Inhalt springen

Extbase Object Query Problem

Erstellt am 19. Dezember 2017 · 2 Antworten · letzte Antwort am 19. Dezember 2017

Tags: Frage

stefano37 ·

In einem Extbase repository möchte ich ein Object instanzieren, bekomme aber immer ein "leeres" Object.
Das setzen der Uid und der Pid müsste dem Object doch eindeutig sagen, um welches Object es sich handelt.
Anbei mein Code. Vllt. sieht jemand einen Fehler ?

public function findGroupsInRegion($region){
    $query = $this->createQuery();

    $regionObj = new \Bitserv\BpgUl\Domain\Model\Region();
    $regionObj->setUid(1);
    $regionObj->setPid(400);

    // ist leer, obwohl in der DB nicht leer ?
    echo "name:".$regionObj->getName();
    // die setter sind zwar gesetzt aber alles andere ist leer 
    \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($regionObj);

    $query->matching(
      $query->logicalAnd(
        $query->contains('regions',  $regionObj  )
      )
    );

   # \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($query);
    $result = $query->execute();

    return $result;

  }

PS: bin auch noch auf der Suche nach einem guten Extbase Tutorial bzgl. m:n Relationen. Bin dankbar für Links.

Power-Poler ·

Glaube mich dunkel zu erinnern.
execute() führt den Befehl noch nicht aus.
return $query->execute()->toArray(); müste direkt funktionieren.
execute() wird irgendwann am ende ausgeführt, auch wenn die PHP schon durchgelaufen ist. Hab auch nicht so genau verstanden wie das abläuft.