4
我不得不對我的數據庫做一個相當複雜的查詢,看來extbase查詢不能做我需要的東西(例如,我需要所有類別的article-count> 0)。所以我創建了一個查詢並使用exec_SELECTgetRows來執行它 - 現在有沒有辦法將結果映射回實體?typo3 extbase:有沒有辦法將exec_SELECTgetRows結果映射到實體?
我會很感激任何提示。
我不得不對我的數據庫做一個相當複雜的查詢,看來extbase查詢不能做我需要的東西(例如,我需要所有類別的article-count> 0)。所以我創建了一個查詢並使用exec_SELECTgetRows來執行它 - 現在有沒有辦法將結果映射回實體?typo3 extbase:有沒有辦法將exec_SELECTgetRows結果映射到實體?
我會很感激任何提示。
您可以通過手動觸發PropertyMapper
來實現此目的。請查看Flow docs。這個概念在ExtBase中是1:1。
在你的情況下,一些示例代碼,可以執行以下操作:
$objectStorage = $this->objectManager->get(ObjectStorage::class);
$propertyMapper = $this->objectManager->get(PropertyMapper::class);
$dataArray = $this->db->exec_SELECTgetRows(...);
foreach($dataArray as $data) {
$dataObject = $propertyMapper->convert($data, \Your\Custom\Object::class);
$objectStorage->attach($dataObject);
}
也許你已經考慮這一點,但不會'''$查詢 - > statement'''足以滿足您的需求? – lorenz