1

ストアド プロシージャ (pgsql) にはほとんど問題がありません。この手順の戻り値では、配列の戻り値には、この方法では使用できない特別な構造があります。

SP または Hydration メソッドを呼び出すさまざまな方法を試してみましたが、常に同じ種類の戻り値があります。

これについて私を助けてもらえますか?

私の仕様:配列を返す必要があります(必要な値のみ)が、SPは次のよ​​うな結果で1行の配列の配列を返します(var_dumped):

array (size=3)
  0 => 
    array (size=1)
      'get_structure_utilisateur' => int 2
  1 => 
    array (size=1)
      'get_structure_utilisateur' => int 1
  2 => 
    array (size=1)
      'get_structure_utilisateur' => int 10

私は次のようなものが欲しいです:

array (size=3)
    0 => 2
    1 => 1
    2 => 10

私はこれまたはこれ、同じ結果またはわずかな違いを試します:

$query = $this->getEntityManager()
    ->getConnection()
    ->query('select admin.get_structure_utilisateur(3, 1)')
    ->fetchAll();

また

$sql = "select admin.get_structure_utilisateur(:utilisateurId, :clientId)";
$rsm = new ResultSetMapping;
$rsm->addScalarResult('get_structure_utilisateur', 'structures');
$query = $this->getEntityManager()->createNativeQuery($sql, $rsm)
    ->setParameter('clientId', 1)
    ->setParameter('utilisateurId', 3);
$query->getResult(Query::HYDRATE_SCALAR);// I Try some other hydratation method

ありがとう

4

1 に答える 1