Exchangeratesapi.io api добавить в пакет torann laravel валют - PullRequest
0 голосов
/ 10 июля 2020

Я использую laravel 7 для отображения цен в разных валютах. Валюта Torann laravel выглядит просто, но Google Finance больше не работает, а openexchangerate не поддерживает валюту по умолчанию «EUR» для бесплатного аккаунта для обновления курсов валют. Я хочу добавить в этот пакет exchangeratesapi.io.

/**
 * Fetch rates from exchangeratesapi
 *
 * @param $defaultCurrency
 */
private function updateFromExchangesRates($defaultCurrency)
{
    $this->info('Updating currency exchange rates from exchangeratesapi.io...');

        $client = new \GuzzleHttp\Client();

        $exio = json_decode($client->get('https://api.exchangeratesapi.io/latest', ['verify' => 'C:\laragon\etc\ssl\cacert.pem']));

        // Error getting content?
        if (isset($exio->error)) {
            $this->error($exio->description);

            return;
        }

        // Parse timestamp for DB
        $timestamp = \Carbon\Carbon::now();
        // Update each rate
        foreach ($exio->rates as $code => $value) {
            $this->currency->getDriver()->update($code, [
                'exchange_rate' => $value,
                'updated_at' => $timestamp,
            ]);
        }

        $this->currency->clearCache();

        $this->info('Update!');

}

Я пробовал поставить лайк и выдает ошибку

Updating currency exchange rates from exchangeratesapi.io...

   ErrorException

  json_decode() expects parameter 1 to be string, object given

  at ...\vendor\torann\currency\src\Console\Update.php:167
    163|         $this->info('Updating currency exchange rates from exchangeratesapi.io...');
    164|
    165|             $client = new \GuzzleHttp\Client();
    166|
  > 167|             $exio = json_decode($client->get('https://api.exchangeratesapi.io/latest', ['verify' => 'C:\laragon\etc\ssl\cacert.pem']));
    168|
    169|             // Error getting content?
    170|             if (isset($exio->error)) {
    171|                 $this->error($exio->description);

  1   ..\vendor\torann\currency\src\Console\Update.php:167
      json_decode()

  2   ..\vendor\torann\currency\src\Console\Update.php:73
      Torann\Currency\Console\Update::updateFromExchangesRates()

Что делать?

...