Mapowanie do tabeli „stron” z Extbase w TYPO3 6.1
Stworzyłem rozszerzenie z modelem domenyMessage
. Ten model ma relację m: n z TYPO3pages
(ten, który zawiera szczegóły stron, takie jak tytuł, issite_root itp.). Jednak za pomocąmapping to existing tables
opcja, daje mitype
błąd mówiący o stronie:
The configured type field for table "pages" is of type int(11) unsigned
This means the type field can not be used for defining the record type.
You have to configure the mappings yourself if you want to map to this
table or extend the correlated class
Po prostu tworzę relację bez mapowania, dzięki czemu mogę ją później odwzorowaćsetup.txt
.
Stworzyłem modelPages
wMyExt/Classes/Domain/Model/
ze wszystkimi getters / setters i repozytorium wMyExt/Classes/Domain/Repository/
.
W moim pliku setup.txt zrobiłem to:
config.tx_extbase {
persistence{
enableAutomaticCacheClearing = 1
updateReferenceIndex = 0
classes {
Tx_Playfield_Domain_Model_Pages {
mapping {
tableName = pages
columns {
uid.mapOnProperty = uid
pid.mapOnProperty = pid
sorting.mapOnProperty = sorting
title.mapOnProperty = title
subtitle.mapOnProperty = subtitle
}
}
}
}
}
}
Ale kiedy próbuję uzyskać dostęp do utworzonego przeze mnie modelu stron,
var_dump($this->pagesRepository->findByUid(74));
jego szukanietx_playfield_domain_model_pages
co nie istnieje, pokazuje
Table 'typo3.tx_playfield_domain_model_pages' doesn't exist: SELECT tx_playfield_domain_model_pages.* FROM tx_playfield_domain_model_pages WHERE tx_playfield_domain_model_pages.uid = '74' LIMIT 1
Czego mi tu brakuje?
Aktualizacja
Po zakończeniuhttp://t3-developer.com/extbase-fluid/cheats-extbase/model/tabelle-pages-in-extbase/ zasugerowany przez @Michael dostajęempty result
z$this->pagesRepository->findByUid(74)
setup.txt
ładuje się. Zrobiłem to, aby to sprawdzić:
plugin.tx_playfield{
settings{
temp=yes
}
}
I to jest dostępne z mojego kontrolera.