命令控制器中 TYPO3 extbase 存储库的 findAll() returns 空对象

The findAll() of TYPO3 extbase repository in Command Controller returns empty object

我想不时地使用命令控制器中的存储库来执行一个过程。我在动作控制器和命令控制器中注入了存储库,存在对象但在命令控制器中 returns 为空。

我在两个地方使用下一个代码,Action 和 Command。

/**
 * postRepository
 *
 * @var \VENDOR\MyExt\Domain\Repository\PostRepository
 * @inject
 */
protected $postRepository = null;

....
....
$posts = $this->postRepository->findAll();
\TYPO3\CMS\Core\Utility\DebugUtility::debug($posts, 'posts');

以及调试的时刻。在动作控制器中我得到

TYPO3\CMS\Extbase\Persistence\Generic\QueryResultprototypeobject (5 items)

并在命令控制器中

TYPO3\CMS\Extbase\Persistence\Generic\QueryResultprototypeobject (empty)

在 Command Controller 中使用存储库的正确方法是什么,或者我怎样才能在其中获取对象?

我在安装工具中使用 TYPO3 7.6、PHP 5.6 和 APC 缓存,并在服务器、Centos 6

中进行配置

我认为问题在于您的命令控制器中未设置 StoragePage。您可以在您的 PostRepository 中尝试 $query->getQuerySettings()->setRespectStoragePage(FALSE),或者在您的扩展 TS 中尝试 module.tx_myext.persistence.storagePid = {$storagePid}