如何从 laravel 中的存储过程中获取 dd() 结果

how to dd() result from stored procedures in laravel

我需要接受来自 SP 的数据。我从网络调用 SP API(laravel).

                //get no reg from system
                $response3 = $client->post($webapi_url . '/api/max_noreg', [
                //     'json' => [
                'form_params' => [
                    'tglreg' => '2020-07-20 00:00:00',
                ],
                'cookies' => $cookieJar,
                'headers' => [
                    'Accept' => 'application/json',
                ],
            ]);

            dd($response3);

这是我的 SP

   ALTER PROCEDURE [dbo].[spmcu_Reg_MaxNoRegByTglTrans] 

    @TglTrans datetime

AS

SELECT NoRegMax = IsNull(MAX(NoReg),'') FROM mcu_Reg
WHERE TglTrans = @TglTrans

这是我的 API 控制器

public function max_noreg(Request $request)
{
    // $credentials = [
    //     'tglreg' => $request->tglreg
    // ];

    // $tglst = '2020-07-19 00:00:00';

    $referral_registers = DB::connection('as_api')
        ->select('EXEC spmcu_Reg_MaxNoRegByTglTrans ?', 
        array($request->tglreg));

    return response()->json([
        'success' => true,
        'data' => $referral_registers
    ]);
}

当我 dd() 响应时,它 return 这个

Response {#590 ▼ -reasonPhrase: "OK" -statusCode: 200 -headers: array:6 [▶] -headerNames: array:6 [▶] -protocol: "1.1" -stream: Stream {#582 ▶} }

我想要它 return 来自 SP 的结果,如下例所示

IDU2007200003  

我检查了我的 sql 分析器,日志是这样的

declare @p1 int set @p1=1 exec sp_prepexec @p1 output,N'@P1 nvarchar(4000)',N'EXEC spmcu_Reg_MaxNoRegByTglTrans @P1',N'2020-07-20 00:00:00' select @p1

请帮我得到我的sp结果并将它传递给dd来测试我是否得到值

以下是我的转储值

    GuzzleHttp\Psr7\Response Object
(
    [reasonPhrase:GuzzleHttp\Psr7\Response:private] => OK
    [statusCode:GuzzleHttp\Psr7\Response:private] => 200
    [headers:GuzzleHttp\Psr7\Response:private] => Array
        (
            [Host] => Array
                (
                    [0] => 127.0.0.1:8000
                )

            [Date] => Array
                (
                    [0] => Mon, 20 Jul 2020 05:36:30 GMT
                    [1] => Mon, 20 Jul 2020 05:36:30 GMT
                )

            [Connection] => Array
                (
                    [0] => close
                )

            [X-Powered-By] => Array
                (
                    [0] => PHP/7.2.19
                )

            [Cache-Control] => Array
                (
                    [0] => no-cache, private
                )

            [Content-Type] => Array
                (
                    [0] => application/json
                )

        )

    [headerNames:GuzzleHttp\Psr7\Response:private] => Array
        (
            [host] => Host
            [date] => Date
            [connection] => Connection
            [x-powered-by] => X-Powered-By
            [cache-control] => Cache-Control
            [content-type] => Content-Type
        )

    [protocol:GuzzleHttp\Psr7\Response:private] => 1.1
    [stream:GuzzleHttp\Psr7\Response:private] => GuzzleHttp\Psr7\Stream Object
        (
            [stream:GuzzleHttp\Psr7\Stream:private] => Resource id #572
            [size:GuzzleHttp\Psr7\Stream:private] => 
            [seekable:GuzzleHttp\Psr7\Stream:private] => 1
            [readable:GuzzleHttp\Psr7\Stream:private] => 1
            [writable:GuzzleHttp\Psr7\Stream:private] => 1
            [uri:GuzzleHttp\Psr7\Stream:private] => php://temp
            [customMetadata:GuzzleHttp\Psr7\Stream:private] => Array
                (
                )

        )

)

你可以这样尝试,解码响应 $response = json_decode($response3->getBody()); dd(response)