Epic #86307: Extbase allows to fetch deleted/hidden records (respects ignoreEnableFields)
Extbase persistence layer ignores query settings
\TYPO3\CMS\Extbase\Persistence\Generic\Backend::getObjectByIdentifier() ignores any settings made to the defaultQuerySettings made for any repository. Since some repository methods internally use
getObjectByIdentifier(), this method also must respect the default query settings. Currently there is no way of retrieving a hidden or deleted entity using Extbase. (Besides overwriting the core classes…)
When I disable the test for "enableFields", this setting should be used in any methods, that pull data from the persistence layer.
For example in a repository inside a initializeObject() method:
/** @var $defaultQuerySettings QuerySettingsInterface */ $defaultQuerySettings = $this->objectManager->get(QuerySettingsInterface::class); $defaultQuerySettings->setIgnoreEnableFields(true);
Hidden and deleted entities are excluded by default without any possibility to include them e.g. in controller actions (where the entities are being resolved before the action is executed).