我得到了一個模型,它具有一些屬性,並在同一擴展中與我的第二個模型有1:1的關係,並且我想將第二個模型完全映射到tt_content。 所以用戶可以在我的第一個模型中插入一個tt_content對象。如何在自己的extbase擴展中映射tt_content?
BE中沒有問題。我可以從第一個模型插入對象,並在那裏插入一個tt_content對象。在數據庫中,我的第一個模型得到了「內容」列的tt_content對象的uid,所以我認爲一切都是正確的...
但是,然後到控制器...我什麼都沒有...只是一個NULL在「內容」的屬性值...
這是我測試的「內容」屬性:
$contentBoxes = $this->contentBoxRepository->findAll();
print(gettype($contentBoxes->current()->getContent()));
,並返回只是「NULL」
aaaaaand這裏有關於一些相關信息第一個模型包含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設置I在「持久性」中加入了這個:
classes {
Tx_PlusbSlidingcontent_Domain_Model_Content {
mapping {
tableName = tt_content
columns {
}
}
}
}
我只是不知道該錯誤在哪裏配置...不存儲庫/模型/任何東西都必須自動填充第一個模型的內容屬性與第二個模型的對象?至少是空的?
請考慮回答自己的問題,當你找到一個解決方案,以紀念這個問題解決了。 – nemo