Должен быть массива типа, возвращается null Laravel - PullRequest
0 голосов
/ 16 июня 2020

У меня есть файл модели, и я запрашиваю ссылку api в этом файле. Но я все время получаю нулевую ошибку

Я отправляю данные в метод apiRequest из контроллера.

Test. php модель ниже

static function apiRequest(string $url , array $data): array
    {

        $curl = curl_init();

        curl_setopt_array($curl, array(
            CURLOPT_URL => $url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => "",
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 30,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => "POST",
            CURLOPT_POSTFIELDS => http_build_query($data),
            CURLOPT_HTTPHEADER => array(
                "Accept: */*",
                "Cache-Control: no-cache",
                "Content-Type: application/x-www-form-urlencoded"
            ),
        ));

        $response = curl_exec($curl);

        $response = json_decode($response , true);

        $err = curl_error($curl);

        curl_close($curl);
        dd($response);

        /* if ($err) {
            return ["error" => true];
        } else {
            return $response;
        } */
    }

Файл контроллера, который я отправил, выглядит следующим образом:

public function workplaces(){

        try {

            $workplaces = Workplace::all();

                foreach ($workplaces as $workplace){

                     $api_arr=[
                        'username' => $workplace->username,
                        'password' => $workplace->password
                    ];

                    $api_response= Test::apiRequest('http://api.testlocal.com/api/login',$api_arr);
                    Workplace::where('id',$workplace['id'])->update([
                       'api_token' => $api_response['reel_token']
                    ]);
                }

                  $workplaceses = Workplace::all();

            return response()->json([
                'status' => 200,
                'workplaces' => $workplaceses,
                'success' => true
            ]);

        } catch (\Exception $e) {
            return response()->json([
                'status' => 200,
                'error' => true
            ]);
        }

    }

Мне нужно отправить данные $ api_response, но они получают значение null. Где я мог ошибиться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...