首页 > 解决方案 > 无法在 laravel 中找到用于分页的链接

问题描述

我得到一个像this note这样的json响应我正在使用GuzzleHttp来调用我的API

$response =  $response->getBody()->getContents();
$output = (json_decode($response));
dd(output)
{#232 ▼
  +"current_page": 1
  +"data": array:2 [▼
    0 => {#230 ▼
      +"id": 1
      +"test_col": "Test one"
    }
    1 => {#237 ▼
      +"id": 3
      +"test_col": "Test three"
    }
  ]
  +"first_page_url": "http://api/api/test?page=1"
  +"from": 1
  +"last_page": 8
  +"last_page_url": "http://api/api/test?page=8"
  +"next_page_url": "http://api/api/test?page=2"
  +"path": "http://api/api/test"
  +"per_page": 2
  +"prev_page_url": null
  +"to": 2
  +"total": 15
}

现在当我去我的前端做这个

 {{$outputs->links()}}

获取分页链接它向我显示一个错误

ErrorException (E_ERROR) 调用未定义的方法 stdClass::links()

在我的 API 方面,我正在这样做

      $results = DB::table('test_table')->paginate(2);
        return ($results);

标签: laravel-5paginationguzzle

解决方案


响应($output)中的对象不能有任何方法。响应已经有链接(first_page_url、last_page_url、next_page_url)。如果您需要 HTML 呈现的链接,那么您可以尝试创建LengthAwarePaginator的实例

$pagination = new LengthAwarePaginator($outputs->data, $outputs->total, $outputs->per_page, $outputs->current_page);
echo $pagination->links();

(未测试)


推荐阅读