<?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配列の出力をコンパクトにしてビューに送信できる使用可能な配列に変換する方法がありますか?
これを行うと、jsonを配列形式に変換できます。
json_decode($response->content(), true);
これを介してアクセスできます
$response[0]['title']