нумерация страниц Laravel Json - PullRequest
0 голосов
/ 14 мая 2019

У меня есть два проекта laravel, один - интерфейс, а другой - API, поэтому в моем API я отправляю данные примерно так (обратите внимание, используя необработанный запрос, я не хочу менять часть запроса). API TestController.php

  public function index()
    {
     $results = DB::table('test_table')->paginate(2);
        return  TestResource::collection($results);     
    }

TestResources.php

 public function toArray($request)
    {
        return [
            'id' => $this->id,  // <------
            'test_col' => $this->test_col,  // <------
        ];
    }

поэтому, когда я отправляю человеку это, вот что я получаю

{
    "data": [
        {
            "id": 1,
            "test_col": "Test one"
        },
        {
            "id": 3,
            "test_col": "Test three"
        }
    ],
    "links": {
        "first": "http://api.mylink/api/test?page=1",
        "last": "http://api.mylink/api/test?page=8",
        "prev": null,
        "next": "http://api.mylink/api/test?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 8,
        "path": "http://api.mylink/api/test",
        "per_page": 2,
        "to": 2,
        "total": 15
    }
}

теперь для моего интерфейса

внешний интерфейс -> TestController.php

public function index()
    {
        $client = new GuzzleHttp\Client(['base_uri' => env('API_PATH')]);
        $response = $client->get('test');
        $response =  $response->getBody()->getContents();
        $output = (GuzzleHttp\json_decode($response));
        //dd($output);
       return view('test.index')->with('outputs',$output);
    }

когда я dd($output); получаю

{#237 ▼
  +"data": array:2 [▼
    0 => {#232 ▼
      +"id": 1
      +"test_col": "Test one"
    }
    1 => {#230 ▼
      +"id": 3
      +"test_col": "Test three"
    }
  ]
  +"links": {#235 ▼
    +"first": "http://api.mylink/api/test?page=1"
    +"last": "http://api.mylink/api/test?page=8"
    +"prev": null
    +"next": "http://api.mylink/api/test?page=2"
  }
  +"meta": {#221 ▼
    +"current_page": 1
    +"from": 1
    +"last_page": 8
    +"path": "http://api.changemaker/api/test"
    +"per_page": 2
    +"to": 2
    +"total": 15
  }
}

любыми способами на моей странице индекса я делаю это

        @foreach($outputs->data as $output)              
           <h3> {{$output->test_col}}</h3>          
        @endforeach
 {{--{{$outputs->links()}}--}}

, который работает нормально, но когда я закомментирую {{$outputs->links()}} тогда выдает ошибку

Вызов неопределенного метода stdClass :: links () (Просмотр: ..

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