一个非常奇怪的Laravel问题

时间:2016-01-31 15:17:48

标签: php laravel laravel-5.1

我在Laravel中遇到了这个非常奇怪的问题。

return $this->pending($input);

此方法返回在其中执行的查询结果。 当我这样做时,我得到了我需要的数据。

{
  "total": 51,
  "per_page": 5,
  "current_page": 1,
  "last_page": 11,
  "next_page_url": "link/to/api?page=2",
  "prev_page_url": null,
  "from": 1,
  "to": 5,
  "data": [
     //some data
   ]
}

然而,当我尝试这样做时:

$response = array();
$response['pending'] = $this->pending($input);

我得到一个空白数组。

{
  "pending": {}
}

知道为什么会这样吗?我确信查询是正确的,因为我从查询中获得了预期的结果。

另外,我试过这样做。我在函数pending中做了同样的事情:

$data = User::paginate(5);
return $data;

这很有效。

但是,这不是

$response = array();
$response['pending'] = User::paginate(5);
return $response;

2 个答案:

答案 0 :(得分:0)

这可能会解决您的问题

$response = array();
$response['pending'] = $this->pending($input);

答案 1 :(得分:0)

如果您真的想要使用它,那么你会变空,因为它是一个集合

$data = Users::paginate(5);

return (array) $data;