typo3 flow: "Результат не может быть преобразован в строку" - получить содержимое поля результата запроса

Доброе утро,

мой репозиторий выглядит так:

public function findbyBeitrag($BS) {

    $query = $this->createQuery();
    $query->matching(
        $query->equals('name', $BS)
        );
    return $query->execute();
}

Мой контроллер выглядит так:

public function findbyBeitragAction() {
     $BS = '1';
     $ergebnis = $this->beitragssatzRepository->findByBeitrag($BS);
     return . $ergebnis . '!';
}

База данных выглядит так:

     name     beitragssatz
     1        15,00
     2        30,00
     3        40,00

В результате запроса я хочу получить "15,00". Что я должен добавить к функции в хранилище, чтобы получить в результате моего запроса только 15,00? Я получаю сообщение об ошибке "Результат не может быть преобразован в строку".

Большое спасибо.

1 ответ

Решение

Введите Entity Manter Доктрины в хранилище:

/** * @Flow\Inject * @var \Doctrine\Common\Persistence\ObjectManager */ 
protected $entityManager; 

Затем со следующим:

$query = $this->entityManager->createQuery("SELECT beitragssatz.beitragssatz FROM \itoop\atc\Domain\Model\Beitragssatz beitragssatz WHERE beitragssatz.name = '1'"); 

Я получил вывод в виде массива. Затем с

$query->getSingleScalarResult(); 
Другие вопросы по тегам