问题描述
我在扩展程序中使用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起,映射已更改。 解决方案可以在这里找到: