2016-01-31 4 views
0

Я получаю эту очень странную проблему в Laravel.Очень странный вопрос о 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; 
+0

Вам необходимо предоставить дополнительную информацию. Что делает метод 'pending' и какой класс он является частью? Что содержит переменная '$ response' и где она инициализируется? Пожалуйста, разместите весь код, относящийся к вопросу, и который необходим для обеспечения контекста вашей проблемы. – Bogdan

+0

$ ожидающий метод имеет запрос, который дает результат, который я разместил здесь. Кроме того, я не думаю, что требуется больше информации. – nirvair

+0

@phantomphoenix дайте нам весь код, включите эту ожидающую функцию .. у вас есть некоторая ошибка где-то .. это $ this-> pending ($ input); вернуть коллекцию? –

ответ

0

Это может решить вашу проблему

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

Нет, это не сработало. – nirvair

0

Вы получаете пустой, потому что это коллекция, если вы действительно хотите использовать его

$data = Users::paginate(5); 

return (array) $data; 
Смежные вопросы