Bonjour, je construit un projet sous symfony, le but est de créer une api avec api platform. J'ai déjà ma base existante en sql server.
je souhaite faire une opération personnalisé, mais cette opération doit faire appel a une procédure stockée dans sql server.

Voici comment je fais mon appel :

 $query = " {CALL TEST( :p_ENL_I_ID,  :p_RETURN_STATUS )}";
 $rsm = new ResultSetMapping();
 $nativeQuery = $this->entityManager->createNativeQuery($query, $rsm);
 $nativeQuery->setParameters(array('p_ENL_I_ID'=> 8 ,'p_RETURN_STATUS' => 1 ));
 dd($nativeQuery->getResult());

Je souhaite recevoir la variable p_RETURN_STATUS qui est une variable output dans ma procédure stockée.
Mais je ne recois rien... efin si un message d'erreur :
The active result for the query contains no fields

La procédure est bien appelé et fonctionne bien. c'est uniquement le retour que je n'ai pas.
Quelqu'un a une idée ?
MErci par avance.
Cédric

1 réponse


Pour information, j'ai trouvé comment faire :

$query="DECLARE @return_value int,
@p_RETURN_STATUS int

            EXEC    @return_value = [dbo].[TEST]
            @p_ENL_I_ID = ?,
            @p_RETURN_STATUS = @p_RETURN_STATUS OUTPUT
            SELECT  @p_RETURN_STATUS as 'p_RETURN_STATUS'";

    $params = array(
        $p_ENL_I_ID,
        $p_RETURN_STATUS
    );

 $con = $this->entityManager->getConnection();
 $result=$con->executeQuery($query, $params);