Scenario:
I have the following model:

ContactPerson is affiliated with FrontendUser and is a proprietary aspect of the relationship. Now I have the following problem:
I activate / deactivate FrontendUsers in the task based on the active ContactPersons. When FrontendUser is disabled or removed, the result of contactPerson-> getFrontendUser () is null, even if both repositories are ignoreEnableFields:
$querySettings = $this->objectManager->get(Typo3QuerySettings::class);
$querySettings->setIgnoreEnableFields(true);
$querySettings->setRespectStoragePage(false);
$this->frontendUserRepository->setDefaultQuerySettings($querySettings);
$debugContactPerson = $this->contactPersonRepository->findOneByContactPersonIdAndIncludeDeletedAndHidden('634');
$debugFrontendUser = $this->frontendUserRepository->findOneByUid(7);
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump(
array(
'$debugContactPerson' => $debugContactPerson,
'$debugFrontendUser' => $debugFrontendUser,
)
);
Result: 
Ps: $this->frontendUserRepository->findByUid(7);also does not work, because it does not use the request, but persistenceManager->getObjectByIdentifier(...which, of course, ignores the request settings.
, findOneByUid(), (uid) frontend_user _person.
contact_person?
( ) :
QueryFactory, . raw-. , - :
class FrontendUserRepository extends \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
{
public function findByContactPersonByRawQuery(ContactPerson $contactPerson){
$query = $this->createQuery();
$query->statement(
"SELECT fe_users.* FROM fe_users" .
" LEFT JOIN tx_extkey_domain_model_contactperson contact_person ON contact_person.frontend_user = fe_users.uid" .
" WHERE contact_person.uid = " . $contactPerson->getUid()
);
return $query->execute()->getFirst();
}
}