【问题标题】:I cannot print the array that I am sending to the database - Laravel我无法打印要发送到数据库的数组 - Laravel
【发布时间】:2026-01-17 03:05:02
【问题描述】:

我有以下函数,但是当我在 Postman 中运行它以查看结果时,它不会向我打印任何值,甚至不会给我一个错误。 var_dump 设置如果它检测到它们,但数组没有......我认为方法 updateOrCreate 有问题,因为当我用 var_dump 打印这个变量时,我看不到任何东西控制台。

这是函数:

 public function createBidRival(Request $request)
    {

        $response = array('code' => 400, 'error_msg' => []);
        if (!$request->id_karatekas) array_push($response['error_msg'], 'id_karateka is required');
        if (!$request->id_participant_bid_send  ) array_push($response['error_msg'], 'id_participant_bid_send is required');
        if (!$request->id_participant_bid_receive) array_push($response['error_msg'], ' id_participant_bid_receive is required');
        if (!$request->bid_rival) array_push($response['error_msg'], 'bid rival is required');
        if (!count($response['error_msg']) > 0) {
            try {

                var_dump($request->id_karatekas);
                var_dump($request->id_participant_bid_send);
                var_dump($request->id_participant_bid_receive);
                var_dump($request->bid_rival);

                $bidRival = new BidBetweenRivals();
                $bidRival = BidBetweenRivals::updateOrCreate(
                    [
                        'id_participant_bid_send' => $request->id_participant_bid_send,
                        'id_participant_bid_receive' => $request->id_participant_bid_receive,
                        'id_karatekas' => $request->id_karatekas
                        ],

                    [
                        'id_participant_bid_send' => $request->id_participant_bid_send,
                        'id_participant_bid_receive' => $request->id_participant_bid_receive,
                        'id_karatekas' => $request->id_karatekas,
                        'bid_rival' => $request->bid_rival
                        ]
                );
                  $bidBetweenRivals->save;
                $response = array('code' => 200, 'bidBetweenRivals' => $bidRival, 'msg' => 'Bid created'); 

            }catch(\Exception $exception) {
                $response = array('code' => 500, 'error_msg' => $exception->getMessage());
            }
        }
    }

【问题讨论】:

    标签: php laravel laravel-5 eloquent


    【解决方案1】:

    转储以查看 if (!count($response['error_msg']) > 0) 是否为真,并在 catch 块中转储某些内容以查看是否发生异常。

    您还可以通过注释掉 updateOrCreate 部分来测试它是否有干扰。

    【讨论】: