Передайте значение Json в Laravel Blade - PullRequest
1 голос
/ 29 мая 2020

Может ли кто-нибудь сказать мне, как передать объект json в поле зрения? Я попытался преобразовать свой ответ в массив, коллекцию, но не могу передать значение в лезвие. Я использую Guzzle в качестве HTTP-клиента.

Контроллер:

public function index()
    {
        $client = new Client();
        $get = $client->request('GET', 'http://api.domain.com/v1/', 
            ['headers' => ['Accept' => 'application/json']]);
        $data = $get->getBody()->getContents();

        //dd($data);

        return view('dashboard', compact('data'));

    }

JSON Ответ:

{
"2020-05-29 - 2020-05-29": {
"86xxx3": {
"widgetId": 863003,
"siteId": 560890,
"impressions": 5766,
"realImpressions": 2671,
"visibilityRate": 46,
"clicks": 125,
"ctr": "2.17",
"revenue": "2.00",
"cpc": "1.60",
"cpm": "0.35"
}
}
}

Например, как получить доход только от лезвия?

1 Ответ

0 голосов
/ 29 мая 2020

используйте json_decode($data , true)

public function index()
    {
        $client = new Client();
        $get = $client->request('GET', 'http://api.domain.com/v1/', 
            ['headers' => ['Accept' => 'application/json']]);
        $datas = $get->getBody()->getContents();
        return view('dashboard')->with('datas', json_decode($datas , true));
    }

в вашем файле Blade

Получить все данные Как это

@foreach($datas as $data)
    widgetId: {{ $data['widgetId'] }}
    siteId: {{ $data['siteId'] }}
    impressions: {{ $data['impressions'] }}
@endforeach

OR

public function index()
    {
        $client = new Client();
        $get = $client->request('GET', 'http://api.domain.com/v1/', 
            ['headers' => ['Accept' => 'application/json']]);
        $data = $get->getBody()->getContents();
        $datas = json_decode($data);
        return view('dashboard', compact('datas'));
    }

В вашем файле Blade

Получить все данные Как это

@foreach($datas as $data)
    widgetId: {{ $data['widgetId'] }}
    siteId: {{ $data['siteId'] }}
    impressions: {{ $data['impressions'] }}
@endforeach
...