如何获取不同存储库的图像? [打字错误3]

How to get image of different repository? [Typo3]

我已经有关于“导入”记录和不同 plugins/extensions 数据的问题。在添加 pid 并实现查询构建器以获取不同插件的数据(在本例中为 table)后,我让它工作了。但现在我遇到的问题是“外国”table/records 或其他内容的图像未包含在内。当我调试 var 时,图像仅设置为 int 1。但它们未正确包含。我需要做什么才能让这该死的 *** 正常工作? :)

//我的控制器

<?php
namespace Formschoen\Mitarbeiterajax\Controller;

use TYPO3\CMS\Core\Context\Context;
use TYPO3\CMS\Core\Utility\GeneralUtility;

/**
 * MitarbeiterController
 */
class MitarbeiterController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{

    /**
     * mitarbeiterRepository
     * 
     * @var \Formschoen\Mitarbeiterajax\Domain\Repository\MitarbeiterRepository
     */
    protected $mitarbeiterRepository = null;

    /**
     * @param \Formschoen\Mitarbeiterajax\Domain\Repository\MitarbeiterRepository $mitarbeiterRepository
     */
    public function injectMitarbeiterRepository(\Formschoen\Mitarbeiterajax\Domain\Repository\MitarbeiterRepository $mitarbeiterRepository)
    {
        $this->mitarbeiterRepository = $mitarbeiterRepository;
    }
    
    /**
     * optionRecordRepository
     * 
     * @var \Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository
     */
    protected $optionRecordRepository;

    /**
     * @param \Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository
     */
    public function injectOptionRecordRepository(\Sebkln\Ajaxselectlist\Domain\Repository\OptionRecordRepository $optionRecordRepository) {
        $this->optionRecordRepository = $optionRecordRepository;
    }
    
    /**
     * action list
     * 
     * @return void
     */
    public function listAction()
    {
        $mitarbeiters = $this->mitarbeiterRepository->findAll();
        $this->view->assign('mitarbeiters', $mitarbeiters);
        $this->view->assign("currentPageID", $GLOBALS['TSFE']->id);

        $options['autohaus'] = array(
            1 => 'some strings'
        );
        $options['abteilung'] = array(
            1 => 'some strings'
        );
        $this->view->assign('options', $options);
    }

    /**
     * action callAjax
     * 
     * @param \Formschoen\Mitarbeiterajax\Domain\Model\Mitarbeiter $mitarbeiter
     * @return void
     */
    public function callAjaxAction(\Formschoen\Mitarbeiterajax\Domain\Model\Mitarbeiter $mitarbeiter)
    {
        $optionRecords = $this->optionRecordRepository->findAll();
        $arguments = $this->request->getArguments();
        $selectedAutohaus = $arguments['autohaus'];
        $selectedAbteilung = $arguments['abteilung'];
        if ($selectedAbteilung == null && $selectedAutohaus == null) {
            echo("Bitte ein Autohaus auswählen / eine Abteilung.");
        } else if ($selectedAbteilung == null) {
            $autohausResult = $this->mitarbeiterRepository->findAutohaus($selectedAutohaus);
            $this->view->assign('autohausResult', $autohausResult);
        } else {
            $mitarbeiterResult = $this->mitarbeiterRepository->findByFilter($selectedAutohaus, $selectedAbteilung);
            $this->view->assign('mitarbeiterResult', $mitarbeiterResult);
        }
        $this->contentObj = $this->configurationManager->getContentObject();
        $images=$this->getFileReferences($this->contentObj->data['uid']);
        $this->view->assign('images', $images);
    }
}

//我的存储库

<?php
namespace Formschoen\Mitarbeiterajax\Domain\Repository;

/**
 * The repository for Mitarbeiters
 */
class MitarbeiterRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
{
    /**
     * @param $selectedAutohaus
     * @param $selectedAbteilung
     */
    public function findByFilter($selectedAutohaus,$selectedAbteilung){
        $query = $this->createQuery();
        $result = $query->matching($query->logicalAnd(
            $query->equals('autohausName', $selectedAutohaus),
            $query->equals('abteilung', $selectedAbteilung)
        ))
        ->execute();
        return $result;
    }
    /**
     * @param $uid
     */
    public function findAutohaus($uid)
    {
        $queryBuilder = $this->objectManager->get(\TYPO3\CMS\Core\Database\ConnectionPool::class)
            ->getConnectionForTable('tx_ajaxselectlist_domain_model_optionrecord')->createQueryBuilder();
        $queryBuilder
            ->select('*')
            ->from('tx_ajaxselectlist_domain_model_optionrecord')
            ->where(
                $queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter($uid))
            );
        $result = $queryBuilder->execute()->fetchAll();
        if ($returnRawQueryResult) {
            $dataMapper = $this->objectManager->get(\TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper::class);
            return $dataMapper->map($this->objectType, $result);
        }
        return $result;
    }
}

你为什么不直接替换这个

$autohausResult = $this->mitarbeiterRepository->findAutohaus($selectedAutohaus);

有了这个

$autohausResult = $this->optionRecordRepository->findByUid($selectedAutohaus);

这样 TYPO3 将构建模型,您将按照您想要的方式获得图像