3

我有一个这样的命令控制器(使用 TYPO3 6.1):

class MyCommandController extends \TYPO3\CMS\Extbase\Mvc\Controller\CommandController {
    /**
     * fileRepository
     *
     * @var \VENDOR\MyExt\Domain\Repository\FileRepository
     * @inject
     */
    protected $fileRepository;
}

但是当我尝试演员

$this->fileRepository->findAll();

我得到:

Fatal error: Call to a member function findAll() on a non-object in

看起来存储库没有像在 ActionControllers 中那样使用 @inject 自动注入。

如何手动注入存储库?

4

3 回答 3

6

您可以在命令控制器中注入存储库。在您的文档注释中添加@inject 后,您必须删除缓存和/或缓存文件吗?

于 2013-09-04T06:39:45.893 回答
5

实际上,您需要清除缓存。显然,就我的 Typo3 6.2 而言,它仅在我从安装工具中清除缓存时才有效。

在此处输入图像描述

注意:我是在阅读关于scripting-base.de的博文(德语)后得到这个提示的。

于 2014-11-10T15:32:37.667 回答
1

如果您将以下内容添加到您的用户或组 TSConfig,您还可以通过右上角的“flash”菜单清除系统缓存,而不仅仅是在安装工具中:

options.clearCache.system = 1
于 2015-02-03T11:03:18.447 回答