首页 > 解决方案 > 我无法打印要发送到数据库的数组 - Laravel

问题描述

我有以下功能,但是当我在 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());
            }
        }
    }

标签: phplaravellaravel-5eloquent

解决方案


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

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


推荐阅读