web-dev-qa-db-fra.com

Comment exécuter une procédure stockée depuis Laravel

J'ai besoin d'exécuter une procédure stockée après que mon formulaire ait envoyé des données. La procédure stockée fonctionne comme je le souhaite et mon formulaire fonctionne correctement. Je ne connais tout simplement pas l'instruction permettant d'exécuter le sp de laravel 5.

cela devrait ressembler à ceci: exécutez my_stored_procedure. mais je n'arrive pas à trouver quelque chose comme ça en ligne. 

25
Jordan Davis

Essayez quelque chose comme ça

DB::select('exec my_stored_procedure("Param1", "param2",..)');

ou

DB::select('exec my_stored_procedure(?,?,..)',array($Param1,$param2));

Essayez ceci sans paramètres 

DB::select('EXEC my_stored_procedure')
36
Pரதீப்

Vous pouvez aussi faire ceci:

DB::select("CALL my_stored_procedure()");
8
Roque Mejos

pour Laravel 5.4


DB::select(DB::raw("exec my_stored_procedure"));

si vous voulez passer des paramètres:

DB::select(DB::raw("exec my_stored_procedure :Param1, :Param2"),[
    ':Param1' => $param_1,
    ':Param2' => $param_2,
]);
7
Pasindu Jayanath

pour Laravel 5.5

DB::select('call myStoredProcedure("p1", "p2")');

ou

DB::select('call myStoredProcedure(?,?)',array($p1,$p2));

pas de paramètre

DB::select('call myStoredProcedure()')
2
vanquan223

Code de travail avec Laravel 5.6,

DB::select('EXEC my_stored_procedure ?,?,?',['var1','var2','var3']);
1
DTIndia

Exécution de la procédure stockée Microsoft SQL Server (MS SQL Server) avec PHP Laravel framework . Si vous essayez d'exécuter SP avec Laravel Model, vous pouvez utiliser les deux approches suivantes.

$submit = DB::select(" EXEC ReturnIdExample ?,?", array( $paramOne ,$paramTwo ) ); 

$submit = DB::select(" EXEC ReturnIdExample $paramOne,$paramTwo ");

Si vous passez le paramètre Varchar, utilisez ce qui suit:

$submit = DB::select(" EXEC ReturnIdExample '$paramOne', '$paramTwo' ");

Si vous ne faites que passer des paramètres qui sont INT ou BIGINT, cela devrait fonctionner et vous pouvez obtenir le retour de SP:

$submit = DB::select(" EXEC ReturnIdExample $paramOne,$paramTwo ");

Une fois que la procédure stockée est exécutée, les valeurs sont présentes dans le $submit sous la forme d'un tableau, vous devez le parcourir en boucle et accéder aux colonnes requises.

foreach($submit  as $row)
{

echo $row->COLUMN1;
echo $row->COLUMN2;
echo $row->COLUMN3;

}
1
B AV B
app('db')->getPdo()->exec('exec my_stored_procedure');
0
zetta

Pour la version 5.5, utilisez CALL:

return DB::select(DB::raw('call store_procedure_function(?)', [$parameter]))
0
iMezied