1
從特定對象獲取表名的最佳方法是什麼? 有什麼樣:如何從TYPO3 extbase中的模型類名獲取表名?
$tableName = Utility::doSomeMagic($object);
所以,你從供應商\ Extkey \域\型號\ MyObject來獲得tx_extkey_domain_model_myobject。
從特定對象獲取表名的最佳方法是什麼? 有什麼樣:如何從TYPO3 extbase中的模型類名獲取表名?
$tableName = Utility::doSomeMagic($object);
所以,你從供應商\ Extkey \域\型號\ MyObject來獲得tx_extkey_domain_model_myobject。
您可以使用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();
看看的SqlDebuggerUtility
從this github repository,它是使用DataMapper的獲得QueryResult對象的表名調試SQL語句。