web-dev-qa-db-ja.com

Laravel、JSON配列を配列に変換し、配列からオブジェクトを1つだけ取得

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Vinelab\Http\Client as HttpClient;
use App\Requests\SearchRequest;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class SearchResults extends Controller
{
    public function index()
    {
        return view('results.search-results');
    }

    public function store(Requests\SearchRequest $request)
    {

        $search_phrase = $request->input('search');

        $client = new HttpClient;

        $response = $client->get('https://www.reddit.com/search.json?q='. $search_phrase .'');

        $responseArray = $response->json();

        dd($responseArray);

        return view('results.search-results');

    }
}  

上記のコードを使用して、このHTTPサービスを使用してreddit APIを呼び出します

https://github.com/Vinelab/http/tree/master

返される応答は大量のデータの配列を返しますが、これからタイトルフィールドを取得し、それをLaravel配列に解析して、ビューに送信できます。タイトルをforeachループで表示します。

結果のタイトルをDBに保存してから、DBにクエリを送信してビューに送信することを考えていました。私はこれすべてに新しいので、どんな援助と理論も高く評価されます。

Laravel 5.2には、このJSON配列の出力をコンパクトにしてビューに送信できる使用可能な配列に変換する方法がありますか?

6
Devin Gray

これを行うと、jsonを配列形式に変換できます。

json_decode($response->content(), true);

これを介してアクセスできます

$response[0]['title']

29
Qazi