我得到了一个模型,它具有一些属性,并且与同一扩展中的第二个模型具有 1:1 的关系,我想将第二个模型完全映射到 tt_content。所以用户可以在我的第一个模型中插入一个 tt_content 对象。
BE没有问题。我可以从第一个模型中插入对象,并在其中插入一个 tt_content 对象。在数据库中,我的第一个模型得到了 tt_content 对象的 uid 所在的“内容”列,所以我认为一切都是正确的......
但是到了控制器……我什么也没得到……只是“内容”属性上的一个空值……
这就是我测试“内容”属性的方式:
$contentBoxes = $this->contentBoxRepository->findAll();
print(gettype($contentBoxes->current()->getContent()));
它只返回“NULL”
aaaaaand 这里是关于第一个模型 whitch 包含 tt_content 对象的一些信息:
第一个模型:
class Tx_PlusbSlidingcontent_Domain_Model_ContentBox extends Tx_Extbase_DomainObject_AbstractEntity {
/**
* Content
*
* @var Tx_PlusbSlidingcontent_Domain_Model_Content
*/
protected $content;
...........
/**
* Returns the content
*
* @return Tx_PlusbSlidingcontent_Domain_Model_Content $content
*/
public function getContent() {
return $this->content;
}
/**
* Sets the content
*
* @param Tx_PlusbSlidingcontent_Domain_Model_Content $content
* @return void
*/
public function setContent(Tx_PlusbSlidingcontent_Domain_Model_Content $content) {
$this->content = $content;
}
...............
}
第二种型号:
class Tx_PlusbSlidingcontent_Domain_Model_Content extends Tx_Extbase_DomainObject_AbstractEntity {
}
第一个模型的 TCA 中的“内容”部分:
'content' => array(
'exclude' => 0,
'label' => 'LLL:EXT:plusb_slidingcontent/Resources/Private/Language/locallang_db.xml:tx_plusbslidingcontent_domain_model_contentbox.content',
'config' => array(
'type' => 'inline',
'foreign_table' => 'tt_content',
'minitems' => 0,
'maxitems' => 1,
'appearance' => array(
'collapseAll' => 0,
'levelLinksPosition' => 'top',
'showSynchronizationLink' => 1,
'showPossibleLocalizationRecords' => 1,
'showAllLocalizationLink' => 1
),
),
),
在 TS 设置中,我在“持久性”中添加了这个:
classes {
Tx_PlusbSlidingcontent_Domain_Model_Content {
mapping {
tableName = tt_content
columns {
}
}
}
}
我只是不知道该配置中的错误在哪里......存储库/模型/任何东西都必须用第二个模型的对象自动填充第一个模型上的内容属性吗?至少一个空的?