[Frage] LazyLoadingProxy bei Objektzugriff TYPO3-Version: 8.7.9

  • getit getit
    Jedi-Ritter
    0 x
    137 Beiträge
    4 Hilfreiche Beiträge
    08. 03. 2018, 13:09

    Ich möchte von einem gerade über eine Get-Methode von einem Objekt geholten Unterobjekt den Klassennamen erfahren.
    [code]$obj = MyNS\Domain\Model\Ansprechpartner
    $subObj = $obj->getLebenslage();
    [/code]

    Wenn ich mir mit
    [code]\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($subObject);
    [/code]

    Das Unterobjekt anschaue, bekomme ich als Resultat

    MyNS\Domain\Model\Lebenslage prototype persistent entity (uid=1504, pid=1) {
    ...
    }

    Also ein korrektes Objekt.

    Wenn ich jetzt mir den Klassennamen dieses Objekt holen will - mit [code]get_class($subOject)[/code] -
    bekomme ich
    'TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy'
    geliefert.

    Normalerweise hat es in einem solchen Fall gereicht, wenn ich vor dem Aufruf von 'get_class()' etwas an dem Objekt gemacht habe, also
    [code]$subObject->getUid();
    [/code]

    Aber ich bekomme immer nur 'LazyLoadingProxy' geliefert.
    Warum??


  • 1
  • getit getit
    Jedi-Ritter
    0 x
    137 Beiträge
    4 Hilfreiche Beiträge
    11. 03. 2018, 13:05

    Ich habs rausgefunden:

    Einfach:
    echo $subObject;

    Intern ruft der die __toString() von AbstractDomainObject auf, die dann wiederum eigentlich auch get_class() (und getUid()) aufruft.

  • 1