[Frage] getUid bei n:1 - Performanceproblem TYPO3-Version: 6.2.31

  • Ei-Dotter Ei-Dotter
    Jedi-Ritter
    0 x
    137 Beiträge
    1 Hilfreiche Beiträge
    08. 06. 2017, 09:27

    Hi,
    ich habe ein interessantes Performanceproblem bei Extbase.

    Angenommen ich habe 2 Tabellen: Bibliothek und Bücher.

    Wenn ich jetzt FOREACH durch die Bücher mache, dann möchte ich gerne ich gerne die UID der Bibliothek wissen.

    Jetzt habe ich ein Performanceproblem:

    1. $query = $buchRepository->createQuery();
    2. $buchs = $query->execute();
    3. foreach ($buchs as $buch) {
    4. /** @var \Vendor\Extname\Domain\Model\Buch $buch */
    5. $uid = $buch->getBibliothek()->getUid();
    6. }

    In meiner mySQL-Tabelle gibt es in der Tabelle "buch" ja eine Spalte "bibliothek". In dieser Spalte steht die UID der Bibliothek. Bei dem foreach holt der aber das ganze Objekt Bibliothek. Ich will ja aber nur die UID.

    Da ich da einige tausend Datensätze habe ist das an dieser Stelle extrem unperformant.

    Ich will doch einfach nur die UID ohne das ganze Objekt laden zu müssen.

    Hat da einer eine Idee?

    Tags: Extbase

  • 1
  • getit getit
    Jedi-Ritter
    0 x
    137 Beiträge
    4 Hilfreiche Beiträge
    16. 06. 2017, 15:24

    Hat dein Bibliothek-Objekt im Domänenmodell von Bücher die Annotation @lazy?

    Wenn nein, würde ichs damit mal versuchen.

  • 1