Laravel 正在返回存储过程的第一个结果

问题描述 投票:0回答:1

我的数据库中有一个自定义过程,它调用另外两个过程。当我在 MySQL 中执行该过程时,它按预期显示了两个过程的结果。然而,当我在 Laravel 中调用我的存储过程时,它只返回第一个过程的结果。

这就是我在 Laravel 中调用我的程序的方式:

DB::select("CALL my_procedure");

我什至尝试这样称呼它:

DB::select(DB::raw("CALL my_procedure");

my_procedure
包含以下查询:

BEGIN
CALL procedure_one();
CALL procedure_two();
END

procedure_one
procedure_two
是简单的选择语句。

任何帮助将非常感激:)

mysql laravel stored-procedures
1个回答
0
投票

我将给您一个示例,您可以在其中调用带参数的过程:

$result = DB::statement('call fill_stats_temp(?,?,?)', [$academic_year,$reference_date,$academic_period]);

尝试使用上述语句调用

my_procedure
。所以代码是:

$result = DB::statement('call my_procedure');
© www.soinside.com 2019 - 2024. All rights reserved.