【发布时间】:2017-06-14 08:14:22
【问题描述】:
我正在构建一个带有后端模块的扩展。当我调用 findAll() 方法时,它返回一个“QueryResult”对象。
我尝试使用 findByUid() 检索对象,它确实有效。
我在打字稿中设置了存储pid:
plugin.tx_hwforms.persistence.storagePid = 112
我也可以在打字稿对象浏览器中看到它。
我还将它添加到我的存储库类中:
public function initializeObject()
{
$defaultQuerySettings = $this->objectManager->get(\TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings::class);
$defaultQuerySettings->setRespectStoragePage(false);
$this->setDefaultQuerySettings($defaultQuerySettings);
}
以便忽略存储 pid ... 它仍然无法正常工作,findAll 没有返回应有的实体数组
【问题讨论】:
-
上面的 sn-p 似乎没问题。您确定表中有与此存储库相关的记录吗?
-
嗨,安德烈,是的,我确定。我还尝试使用另一个扩展的存储库,其中 findAll() 工作正常。而且我注意到它也不起作用,因此由于某种原因 findAll 在我的扩展程序中根本不起作用。
-
所以,var_dump(使用 extbase 中的函数)调用 findAll() 函数后的 $GLOBALS['TYPO3_DB'] 并检查最后一个查询构建
-
我试过了,但它完全忽略了 findAll 方法。它适用于其他存储库方法,例如 findByUid 甚至 findAll()->count ... 这对我没有任何意义
-
很奇怪。您的存储库是否扩展了 TYPO3::CMS::Extbase::Persistence::Repository ?您是否检查了存储库、模型和表名之间的名称拼写?
标签: typo3 typoscript fluid