2017-10-09 52 views
0

我想在命令控制器中使用存储库来执行一个程序。我在动作控制器和命令控制器中注入了存储库,但存在对象,但在命令控制器中返回空白。命令控制器中TYPO3 extbase存储库的findAll()函数返回空对象

我在两个地方使用下一个代码,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 \持久性\通用\ QueryResultprototypeobject(5项)

并在指令控制器

TYPO3 \ CMS \ Extbase \持久性\ Generic \ QueryResultprototypeobject(空)

在Command Controller中使用存储库的正确方法是什么? ld我得到这个对象?

我使用TYPO3 7.6,PHP 5.6和APC缓存中安装工具和服务器的配置,CentOS 6的

回答

0

我认为这个问题是StoragePage未在指令控制器设置。您可以在您的分机TS中的PostRepositorymodule.tx_myext.persistence.storagePid = {$storagePid}中尝试$query->getQuerySettings()->setRespectStoragePage(FALSE)

+0

谢谢!该问题已通过'$ query-> getQuerySettings() - > setRespectStoragePage(FALSE)'解决。 –