[英]How to get disabled entities in TYPO3 8.x extbase?
我已經設置了一個簡單的存儲庫查詢設置,以在TYPO3 CMS 8.7.22中獲得某些fe_user。 如果不禁用此fe_user,則存儲庫會返回預期的實體。
但是在再次禁用對象之后,存儲庫將返回null
。 那么,為什么setIgnoreEnableFields
和setEnableFieldsToBeIgnored
不再起作用?
$objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
$defaultQuerySettings = $objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Typo3QuerySettings');
$defaultQuerySettings->setRespectSysLanguage(FALSE);
$defaultQuerySettings->setRespectStoragePage(TRUE);
$defaultQuerySettings->setIgnoreEnableFields(TRUE);
$defaultQuerySettings->setEnableFieldsToBeIgnored(array('disable'));
$someRepository->setDefaultQuerySettings($defaultQuerySettings);
$response = $someRepository->findByIdentifier($fe_user_id);
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($response);
它是默認的frontendUserRepsository
的findByUid
函數。 在那里,它們防止獲取隱藏/刪除的對象。 因此,針對這種情況,我構建了自己的存儲庫功能:
public function findHiddenByUid($uid){
$query = $this->createQuery();
$qs = clone($this->defaultQuerySettings);
$qs->setIgnoreEnableFields(TRUE);
$qs->setEnableFieldsToBeIgnored(['disable','hidden','disabled']);
$query->setQuerySettings($qs);
$query->matching($query->equals('uid', $uid));
return $query->execute()->getFirst();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.