我有我的CommandController,我用它来定义一个调度程序任务,清除我的数据仓库。出于某种原因,这不起作用。我也无法在我的$ itemRepository(在这个commandcontroller中)添加()一个新元素。知道我错过了什么吗?
<?php
namespace VENDX\Items\Command;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Utility\DebuggerUtility;
class TestCommandController extends \TYPO3\CMS\Extbase\Mvc\Controller\CommandController
{
/**
* itemRepository
*
* @var \VENDX\Items\Domain\Repository\ItemRepository
* @inject
*/
protected $itemRepository;
/**
* @var \TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager
* @inject
*/
protected $persistenceManager;
/**
*
* @return void
*/
public function repoDeleteCommand() {
$this->$itemRepository->removeAll();
}
}
?>
答案 0 :(得分:2)
好的,我解决了这个问题:
在我的第一次尝试中,我试图通过上述表示法使用回购。但我错过了没有&#39; $&#39;需要@ repo,因为命名空间已经使用$ this定义。
格式错误:
public function repoDeleteCommand() {
$this->$itemRepository->removeAll();
}
所以正确的格式是:
public function repoDeleteCommand() {
$this->itemRepository->removeAll();
}