[BUGFIX] Api utility does not resolve LazyLoadingProxy

This commit is contained in:
phil 2025-03-31 18:24:21 +02:00
parent 22a5b811b6
commit f2c9f81af5

View File

@ -17,6 +17,7 @@ use TYPO3\CMS\Core\Resource\FileReference as CoreFileReference;
use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Domain\Model\FileReference as ExtbaseFileReference; use TYPO3\CMS\Extbase\Domain\Model\FileReference as ExtbaseFileReference;
use TYPO3\CMS\Extbase\Object\ObjectManager; use TYPO3\CMS\Extbase\Object\ObjectManager;
use TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy;
use TYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorage; use TYPO3\CMS\Extbase\Persistence\Generic\LazyObjectStorage;
use TYPO3\CMS\Extbase\Persistence\ObjectStorage; use TYPO3\CMS\Extbase\Persistence\ObjectStorage;
use TYPO3\CMS\Extbase\Service\ImageService; use TYPO3\CMS\Extbase\Service\ImageService;
@ -76,6 +77,9 @@ class ApiUtility
if (substr($method, 0, 3) === 'get') { if (substr($method, 0, 3) === 'get') {
$methodResult = call_user_func([$row, $method]); $methodResult = call_user_func([$row, $method]);
$attributeName = lcfirst(substr($method, 3)); $attributeName = lcfirst(substr($method, 3));
if (get_class($methodResult) == LazyLoadingProxy::class) {
$methodResult = $methodResult->_loadRealInstance();
}
$propertieResults[$attributeName] = $methodResult; $propertieResults[$attributeName] = $methodResult;
} }
} }