2017-08-24 80 views

回答

3

您可以使用DataMapper獲取模型的表名稱。它由存儲庫在內部使用(至少是間接的)來告訴他們正在處理什麼。你可以得到自己的DataMapper的實例,並使用它像這樣:

$className = \MyVendor\MyExt\Domain\Model\SomeModel::class; 
$dataMapper = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper::class); 
$tableName = $dataMapper->getDataMap($className)->getTableName(); 

看看的SqlDebuggerUtilitythis github repository,它是使用DataMapper的獲得QueryResult對象的表名調試SQL語句。