2017-08-24 3 views

Répondre

3

Vous pouvez utiliser DataMapper pour obtenir le nom de la table d'un modèle. Il est utilisé en interne par les référentiels (indirectement au moins) pour indiquer ce qu'ils traitent. Vous pouvez vous procurer une instance de la DataMapper et de l'utiliser comme ceci:

$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(); 

Jetez un oeil à la SqlDebuggerUtility de this github repository, qui utilise le DataMapper pour obtenir le tablename d'un objet QueryResult pour déboguer les instructions SQL.