Typo3 10.4.9 / Exbase:通过使用自己的类,具有空/空属性的DataMapper推导器对象数组扩展了tt_address

问题描述

我在扩展程序中使用datamapper来获取我的querybuilder结果的对象数组。它在Typo3 8.7下起作用,但在Typo3 10.4.9下不再起作用。 querybuilder提供正确的结果。在数据映射器从querybuilder中获取我的结果之后,对象数组具有正确数量的条目和属性。但属性为空/空。

...
/**
 * Datamaper
 *
 * @var DataMapper
 * @TYPO3\CMS\Extbase\Annotation\Inject
 */
protected DataMapper $datamapper;

...

$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tt_address');

$records = $queryBuilder
    ->select('tt_address.*')
    ->from('tt_address')
    ->leftJoin(
        'tt_address','tt_content','content',$queryBuilder->expr()->eq('content.tx_myext_parent',$queryBuilder->quoteIdentifier('tt_address.uid'))
    )
    ->where(
        $queryBuilder->expr()->eq('tt_address.deleted',0),$queryBuilder->expr()->eq('tt_address.hidden',0)
    )
    ->groupBy('tt_address.uid')
    ->execute()->fetchAll();

$result = $this->datamapper->map(\vendor\MyExt\Domain\Model\Adresse::class,$records);

我的课:

class Adresse extends \FriendsOfTYPO3\TtAddress\Domain\Model\Address
{
...
/**
 * teaser
 *
 * @var string
 */
protected string $teaser = '';
...

您是否知道缺少什么或我做错了什么?

解决方法

问题是,自Typo3 10.0起,映射已更改。 解决方案可以在这里找到:

Typo3 docs