Dentro da minha extensão Extbase, tenho duas classes ParentUser e Child.
A tabela filho contém uma referência ao parent_user
CREATE TABLE tx_xxx_domain_model_child (
...
parent_user int(11) unsigned DEFAULT '0'
)
A tabela parent_user não conhece o Filho. É possível hidratar o objeto ParentUser de tal forma que ele contenha um ObjectStorage (ou similar) de filhos. Quero renderizar uma lista de todos os ParentUsers com seus filhos.
Observe que não quero que o modelo conheça nenhum repositório. Seria bom usar o ProppertyMapper.
Mais um pouco de código:
ACT:
...
'parent_user' => [
'exclude' => false,
'label' => 'LLL:EXT:xxx/Resources/Private/Language/locallang_db.xlf:tx_xxx_domain_model_child.parent_user',
'description' => 'LLL:EXT:xxx/Resources/Private/Language/locallang_db.xlf:tx_xxx_domain_model_child.parent_user.description',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tx_xxx_domain_model_parentuser',
'default' => 0,
'minitems' => 0,
'maxitems' => 1,
],
],
CREATE TABLE tx_xxx_domain_model_child (
first_name varchar(255) DEFAULT NULL,
last_name varchar(255) DEFAULT NULL,
date_of_archive int(11) NOT NULL DEFAULT '0',
state int(11) NOT NULL DEFAULT '0',
parent_user int(11) unsigned DEFAULT '0'
);
CREATE TABLE tx_xxx_domain_model_parentuser (
first_name varchar(255) DEFAULT NULL,
last_name varchar(255) DEFAULT NULL,
email varchar(255) DEFAULT NULL,
city varchar(255) DEFAULT NULL,
zip varchar(255) DEFAULT NULL,
region varchar(255) DEFAULT NULL,
country varchar(255) DEFAULT NULL,
address varchar(255) DEFAULT NULL,
date_of_archive int(11) NOT NULL DEFAULT '0',
state int(11) NOT NULL DEFAULT '0'
);
Usando:
- TYPO3 v12.4.18 + Extbase
- PHP 8.2.22