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语句。