0

おはようございます、

私のリポジトリは次のようになります。

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 のみを取得するには、リポジトリの関数に何を追加する必要がありますか? 「結果を文字列に変換できませんでした」というエラー メッセージが表示されます。

どうもありがとうございました。

4

1 に答える 1

1

Doctrine の Entity Manager をリポジトリに注入します。

/** * @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(); 
于 2015-03-26T06:33:53.690 に答える