无法将外部存储库注入我的控制器

Cannot inject foreign repository into my controller

我在为 Typo3 编写的插件方面遇到了问题。我想访问另一个插件中插件的存储库(及其内容)。就像将东西从一个插件导入到另一个插件一样。我尝试在我的控制器中使用@inject,但结果为空。

    /**
     * @var \Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository
     */
    protected $optionRecordRepository = null;

    /**
     * @param \Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository
     */
    public function injectOptionRecordRepository(\Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository $optionRecordRepository) {
        $this->optionRecordRepository = $optionRecordRepository;
    }

我的动作函数:

$standorts = $this->optionRecordRepository->findAll();
$this->view->assign('standorts', $standorts);

我的 Typo3 版本是 9.5,所以可能有人知道我应该做什么。提前致谢。

您必须设置存储记录的 storagePid。

plugin.tx_[lowercasedextensionname] {
  persistence {
    storagePid = 12,22
  }
}

如果记录存储在未知位置,则在存储库中忽略它。

/**
  * Initializes the repository.
  */
public function initializeObject()
{
    /** @var \TYPO3\CMS\Extbase\Persistence\Generic\QuerySettingsInterface $querySettings */
    $querySettings = $this->objectManager->get(QuerySettingsInterface::class);
    $querySettings->setRespectStoragePage(false);
    $this->setDefaultQuerySettings($querySettings);
}